List:Commits« Previous MessageNext Message »
From:paul.dubois Date:August 19 2010 4:55pm
Subject:svn commit - mysqldoc@docsrva: r22337 - in trunk: . refman-4.1 refman-5.0 refman-5.1 refman-5.5 refman-5.6 refman-6.0
View as plain text  
Author: paul
Date: 2010-08-19 18:55:36 +0200 (Thu, 19 Aug 2010)
New Revision: 22337

Log:
 r62473@frost:  paul | 2010-08-19 11:54:50 -0500
 Updates for expression syntax
 (WL#5422)


Modified:
   trunk/refman-4.1/language-structure.xml
   trunk/refman-5.0/language-structure-core.xml
   trunk/refman-5.1/language-structure-core.xml
   trunk/refman-5.5/language-structure-core.xml
   trunk/refman-5.6/language-structure-core.xml
   trunk/refman-6.0/language-structure-core.xml

Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 07c7e7b4-24e3-4b51-89d0-6dc09fec6bec:/mysqldoc-local/mysqldoc/trunk:35498
07c7e7b4-24e3-4b51-89d0-6dc09fec6bec:/mysqldoc-local/trunk:41634
4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:43968
4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/trunk:44480
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:62467
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:39036
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/trunk:39546
   + 07c7e7b4-24e3-4b51-89d0-6dc09fec6bec:/mysqldoc-local/mysqldoc/trunk:35498
07c7e7b4-24e3-4b51-89d0-6dc09fec6bec:/mysqldoc-local/trunk:41634
4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:43968
4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/trunk:44480
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:62473
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:39036
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/trunk:39546


Modified: trunk/refman-4.1/language-structure.xml
===================================================================
--- trunk/refman-4.1/language-structure.xml	2010-08-19 16:44:19 UTC (rev 22336)
+++ trunk/refman-4.1/language-structure.xml	2010-08-19 16:55:36 UTC (rev 22337)
Changed blocks: 4, Lines Added: 77, Lines Deleted: 93; 12098 bytes

@@ -2197,79 +2197,79 @@
       The following rules define expression syntax in MySQL. The grammar
       shown here is based on that given in the
       <filename>sql/sql_yacc.yy</filename> file of MySQL source
-      distributions. See also the notes after the grammar for additional
+      distributions. See the notes after the grammar for additional
       information about some of the terms. Operator precedence is given
       in <xref linkend="operator-precedence"/>.
     </para>
 
 <programlisting>
 <replaceable>expr</replaceable>:
-  <replaceable>expr</replaceable> OR <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> || <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> XOR <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> AND <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> &amp;&amp; <replaceable>expr</replaceable>
-  NOT <replaceable>expr</replaceable>
-  ! <replaceable>expr</replaceable>
-  <replaceable>boolean_primary</replaceable> IS [NOT] {TRUE | FALSE | UNKNOWN}
-  <replaceable>boolean_primary</replaceable>
+    <replaceable>expr</replaceable> OR <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> || <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> XOR <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> AND <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> &amp;&amp; <replaceable>expr</replaceable>
+  | NOT <replaceable>expr</replaceable>
+  | ! <replaceable>expr</replaceable>
+  | <replaceable>boolean_primary</replaceable> IS [NOT] {TRUE | FALSE | UNKNOWN}
+  | <replaceable>boolean_primary</replaceable>
 
 <replaceable>boolean_primary</replaceable>:
-  <replaceable>boolean_primary</replaceable> IS [NOT] NULL
-  <replaceable>boolean_primary</replaceable> &lt;=&gt; <replaceable>predicate</replaceable>
-  <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> <replaceable>predicate</replaceable>
-  <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> {ALL | ANY} (<replaceable>subquery</replaceable>)
-  <replaceable>predicate</replaceable>
+    <replaceable>boolean_primary</replaceable> IS [NOT] NULL
+  | <replaceable>boolean_primary</replaceable> &lt;=&gt; <replaceable>predicate</replaceable>
+  | <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> <replaceable>predicate</replaceable>
+  | <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> {ALL | ANY} (<replaceable>subquery</replaceable>)
+  | <replaceable>predicate</replaceable>
 
 <replaceable>comparison_operator</replaceable>: = | &gt;= | &gt; | &lt;= | &lt; | &lt;&gt; | !=
 
 <replaceable>predicate</replaceable>:
-  <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>subquery</replaceable>)
-  <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  <replaceable>bit_expr</replaceable> [NOT] BETWEEN <replaceable>bit_expr</replaceable> AND <replaceable>predicate</replaceable>
-  <replaceable>bit_expr</replaceable> SOUNDS LIKE <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> [NOT] LIKE <replaceable>simple_expr</replaceable> [ESCAPE <replaceable>simple_expr</replaceable>]
-  <replaceable>bit_expr</replaceable> [NOT] REGEXP <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable>
+    <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>subquery</replaceable>)
+  | <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | <replaceable>bit_expr</replaceable> [NOT] BETWEEN <replaceable>bit_expr</replaceable> AND <replaceable>predicate</replaceable>
+  | <replaceable>bit_expr</replaceable> SOUNDS LIKE <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> [NOT] LIKE <replaceable>simple_expr</replaceable> [ESCAPE <replaceable>simple_expr</replaceable>]
+  | <replaceable>bit_expr</replaceable> [NOT] REGEXP <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable>
 
 <replaceable>bit_expr</replaceable>:
-  <replaceable>bit_expr</replaceable> | <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &amp; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &lt;&lt; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &gt;&gt; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> + <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> - <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> * <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> / <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> DIV <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> MOD <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> % <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> ^ <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> + <replaceable>interval_expr</replaceable>
-  <replaceable>bit_expr</replaceable> - <replaceable>interval_expr</replaceable>
-  <replaceable>simple_expr</replaceable>
+    <replaceable>bit_expr</replaceable> | <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &amp; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &lt;&lt; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &gt;&gt; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> + <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> - <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> * <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> / <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> DIV <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> MOD <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> % <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> ^ <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> + <replaceable>interval_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> - <replaceable>interval_expr</replaceable>
+  | <replaceable>simple_expr</replaceable>
 
 <replaceable>simple_expr</replaceable>:
-  <replaceable>literal</replaceable>
-  <replaceable>identifier</replaceable>
-  <replaceable>function_call</replaceable>
-  <replaceable>simple_expr</replaceable> COLLATE <replaceable>collation_name</replaceable>
-  <replaceable>param_marker</replaceable>
-  <replaceable>variable</replaceable>
-  <replaceable>simple_expr</replaceable> || <replaceable>simple_expr</replaceable>
-  + <replaceable>simple_expr</replaceable>
-  - <replaceable>simple_expr</replaceable>
-  ~ <replaceable>simple_expr</replaceable>
-  ! <replaceable>simple_expr</replaceable>
-  BINARY <replaceable>simple_expr</replaceable>
-  (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  ROW (<replaceable>expr</replaceable>, <replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  (<replaceable>subquery</replaceable>)
-  EXISTS (<replaceable>subquery</replaceable>)
-  { <replaceable>identifier</replaceable> <replaceable>expr</replaceable> }
-  <replaceable>match_expr</replaceable>
-  <replaceable>case_expr</replaceable>
-  <replaceable>interval_expr</replaceable>
+    <replaceable>literal</replaceable>
+  | <replaceable>identifier</replaceable>
+  | <replaceable>function_call</replaceable>
+  | <replaceable>simple_expr</replaceable> COLLATE <replaceable>collation_name</replaceable>
+  | <replaceable>param_marker</replaceable>
+  | <replaceable>variable</replaceable>
+  | <replaceable>simple_expr</replaceable> || <replaceable>simple_expr</replaceable>
+  | + <replaceable>simple_expr</replaceable>
+  | - <replaceable>simple_expr</replaceable>
+  | ~ <replaceable>simple_expr</replaceable>
+  | ! <replaceable>simple_expr</replaceable>
+  | BINARY <replaceable>simple_expr</replaceable>
+  | (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | ROW (<replaceable>expr</replaceable>, <replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | (<replaceable>subquery</replaceable>)
+  | EXISTS (<replaceable>subquery</replaceable>)
+  | {<replaceable>identifier</replaceable> <replaceable>expr</replaceable>}
+  | <replaceable>match_expr</replaceable>
+  | <replaceable>case_expr</replaceable>
+  | <replaceable>interval_expr</replaceable>
 </programlisting>
 
     <para>

@@ -2286,7 +2286,7 @@
 
     <para>
       Variables can be user variables, system variables, or stored
-      program local variables or parameters.
+      program local variables or parameters:
     </para>
 
     <itemizedlist>

@@ -2330,10 +2330,12 @@
     </para>
 
     <para>
-      <literal>{ <replaceable>identifier</replaceable>
-      <replaceable>expr</replaceable> }</literal> is ODBC escape syntax
+      <literal>{<replaceable>identifier</replaceable>
+      <replaceable>expr</replaceable>}</literal> is ODBC escape syntax
       and is accepted for ODBC compatibility. The value is
-      <replaceable>expr</replaceable>.
+      <replaceable>expr</replaceable>. The curly braces in the syntax
+      should be written literally; they are not metasyntax as used
+      elsewhere in syntax descriptions.
     </para>
 
     <para>

@@ -2353,44 +2355,26 @@
       interval. The syntax is <literal>INTERVAL
       <replaceable>expr</replaceable>
       <replaceable>unit</replaceable></literal>, where
-      <replaceable>unit</replaceable> is an interval specifier such as
+      <replaceable>unit</replaceable> is a specifier such as
       <literal>HOUR</literal>, <literal>DAY</literal>, or
-      <literal>WEEK</literal>. For the full list of unit specifiers, see
-      the description of the <literal role="func">DATE_ADD()</literal>
-      function in <xref linkend="date-and-time-functions"/>.
+      <literal>WEEK</literal>. For the full list of
+      <replaceable>unit</replaceable> specifiers, see the description of
+      the <literal role="func">DATE_ADD()</literal> function in
+      <xref linkend="date-and-time-functions"/>.
     </para>
 
     <para>
-      The meaning of some operators depends on the SQL mode:
+      The meaning of the <literal role="op" condition="or">||</literal>
+      operator depends on the SQL mode. By default,
+      <literal role="op" condition="or">||</literal> is a logical
+      <literal role="op">OR</literal> operator. With
+      <literal role="sqlmode">PIPES_AS_CONCAT</literal> enabled,
+      <literal role="op" condition="or">||</literal> is string
+      concatenation, with a precedence between
+      <literal role="op" condition="bitwise-xor">^</literal> and the
+      unary operators. See <xref linkend="server-sql-mode"/>.
     </para>
 
-    <itemizedlist>
-
-      <listitem>
-        <para>
-          With <literal role="sqlmode">PIPES_AS_CONCAT</literal>
-          enabled, <literal role="op" condition="or">||</literal> is
-          string concatenation, not logical
-          <literal role="op">OR</literal>, with a precedence between
-          <literal role="op" condition="bitwise-xor">^</literal> and the
-          unary operators.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          With <literal role="sqlmode">HIGH_NOT_PRECEDENCE</literal>
-          enabled, <literal>NOT</literal> has the same precedence as
-          <literal role="op" condition="not">!</literal>.
-        </para>
-      </listitem>
-
-    </itemizedlist>
-
-    <para>
-      See <xref linkend="server-sql-mode"/>.
-    </para>
-
   </section>
 
   <section id="comments">


Modified: trunk/refman-5.0/language-structure-core.xml
===================================================================
--- trunk/refman-5.0/language-structure-core.xml	2010-08-19 16:44:19 UTC (rev 22336)
+++ trunk/refman-5.0/language-structure-core.xml	2010-08-19 16:55:36 UTC (rev 22337)
Changed blocks: 6, Lines Added: 79, Lines Deleted: 72; 12091 bytes

@@ -2405,79 +2405,79 @@
       The following rules define expression syntax in MySQL. The grammar
       shown here is based on that given in the
       <filename>sql/sql_yacc.yy</filename> file of MySQL source
-      distributions. See also the notes after the grammar for additional
+      distributions. See the notes after the grammar for additional
       information about some of the terms. Operator precedence is given
       in <xref linkend="operator-precedence"/>.
     </para>
 
 <programlisting>
 <replaceable>expr</replaceable>:
-  <replaceable>expr</replaceable> OR <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> || <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> XOR <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> AND <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> &amp;&amp; <replaceable>expr</replaceable>
-  NOT <replaceable>expr</replaceable>
-  ! <replaceable>expr</replaceable>
-  <replaceable>boolean_primary</replaceable> IS [NOT] {TRUE | FALSE | UNKNOWN}
-  <replaceable>boolean_primary</replaceable>
+    <replaceable>expr</replaceable> OR <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> || <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> XOR <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> AND <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> &amp;&amp; <replaceable>expr</replaceable>
+  | NOT <replaceable>expr</replaceable>
+  | ! <replaceable>expr</replaceable>
+  | <replaceable>boolean_primary</replaceable> IS [NOT] {TRUE | FALSE | UNKNOWN}
+  | <replaceable>boolean_primary</replaceable>
 
 <replaceable>boolean_primary</replaceable>:
-  <replaceable>boolean_primary</replaceable> IS [NOT] NULL
-  <replaceable>boolean_primary</replaceable> &lt;=&gt; <replaceable>predicate</replaceable>
-  <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> <replaceable>predicate</replaceable>
-  <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> {ALL | ANY} (<replaceable>subquery</replaceable>)
-  <replaceable>predicate</replaceable>
+    <replaceable>boolean_primary</replaceable> IS [NOT] NULL
+  | <replaceable>boolean_primary</replaceable> &lt;=&gt; <replaceable>predicate</replaceable>
+  | <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> <replaceable>predicate</replaceable>
+  | <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> {ALL | ANY} (<replaceable>subquery</replaceable>)
+  | <replaceable>predicate</replaceable>
 
 <replaceable>comparison_operator</replaceable>: = | &gt;= | &gt; | &lt;= | &lt; | &lt;&gt; | !=
 
 <replaceable>predicate</replaceable>:
-  <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>subquery</replaceable>)
-  <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  <replaceable>bit_expr</replaceable> [NOT] BETWEEN <replaceable>bit_expr</replaceable> AND <replaceable>predicate</replaceable>
-  <replaceable>bit_expr</replaceable> SOUNDS LIKE <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> [NOT] LIKE <replaceable>simple_expr</replaceable> [ESCAPE <replaceable>simple_expr</replaceable>]
-  <replaceable>bit_expr</replaceable> [NOT] REGEXP <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable>
+    <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>subquery</replaceable>)
+  | <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | <replaceable>bit_expr</replaceable> [NOT] BETWEEN <replaceable>bit_expr</replaceable> AND <replaceable>predicate</replaceable>
+  | <replaceable>bit_expr</replaceable> SOUNDS LIKE <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> [NOT] LIKE <replaceable>simple_expr</replaceable> [ESCAPE <replaceable>simple_expr</replaceable>]
+  | <replaceable>bit_expr</replaceable> [NOT] REGEXP <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable>
 
 <replaceable>bit_expr</replaceable>:
-  <replaceable>bit_expr</replaceable> | <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &amp; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &lt;&lt; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &gt;&gt; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> + <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> - <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> * <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> / <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> DIV <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> MOD <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> % <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> ^ <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> + <replaceable>interval_expr</replaceable>
-  <replaceable>bit_expr</replaceable> - <replaceable>interval_expr</replaceable>
-  <replaceable>simple_expr</replaceable>
+    <replaceable>bit_expr</replaceable> | <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &amp; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &lt;&lt; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &gt;&gt; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> + <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> - <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> * <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> / <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> DIV <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> MOD <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> % <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> ^ <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> + <replaceable>interval_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> - <replaceable>interval_expr</replaceable>
+  | <replaceable>simple_expr</replaceable>
 
 <replaceable>simple_expr</replaceable>:
-  <replaceable>literal</replaceable>
-  <replaceable>identifier</replaceable>
-  <replaceable>function_call</replaceable>
-  <replaceable>simple_expr</replaceable> COLLATE <replaceable>collation_name</replaceable>
-  <replaceable>param_marker</replaceable>
-  <replaceable>variable</replaceable>
-  <replaceable>simple_expr</replaceable> || <replaceable>simple_expr</replaceable>
-  + <replaceable>simple_expr</replaceable>
-  - <replaceable>simple_expr</replaceable>
-  ~ <replaceable>simple_expr</replaceable>
-  ! <replaceable>simple_expr</replaceable>
-  BINARY <replaceable>simple_expr</replaceable>
-  (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  ROW (<replaceable>expr</replaceable>, <replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  (<replaceable>subquery</replaceable>)
-  EXISTS (<replaceable>subquery</replaceable>)
-  { <replaceable>identifier</replaceable> <replaceable>expr</replaceable> }
-  <replaceable>match_expr</replaceable>
-  <replaceable>case_expr</replaceable>
-  <replaceable>interval_expr</replaceable>
+    <replaceable>literal</replaceable>
+  | <replaceable>identifier</replaceable>
+  | <replaceable>function_call</replaceable>
+  | <replaceable>simple_expr</replaceable> COLLATE <replaceable>collation_name</replaceable>
+  | <replaceable>param_marker</replaceable>
+  | <replaceable>variable</replaceable>
+  | <replaceable>simple_expr</replaceable> || <replaceable>simple_expr</replaceable>
+  | + <replaceable>simple_expr</replaceable>
+  | - <replaceable>simple_expr</replaceable>
+  | ~ <replaceable>simple_expr</replaceable>
+  | ! <replaceable>simple_expr</replaceable>
+  | BINARY <replaceable>simple_expr</replaceable>
+  | (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | ROW (<replaceable>expr</replaceable>, <replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | (<replaceable>subquery</replaceable>)
+  | EXISTS (<replaceable>subquery</replaceable>)
+  | {<replaceable>identifier</replaceable> <replaceable>expr</replaceable>}
+  | <replaceable>match_expr</replaceable>
+  | <replaceable>case_expr</replaceable>
+  | <replaceable>interval_expr</replaceable>
 </programlisting>
 
     <para>

@@ -2494,7 +2494,7 @@
 
     <para>
       Variables can be user variables, system variables, or stored
-      program local variables or parameters.
+      program local variables or parameters:
     </para>
 
     <itemizedlist>

@@ -2538,10 +2538,12 @@
     </para>
 
     <para>
-      <literal>{ <replaceable>identifier</replaceable>
-      <replaceable>expr</replaceable> }</literal> is ODBC escape syntax
+      <literal>{<replaceable>identifier</replaceable>
+      <replaceable>expr</replaceable>}</literal> is ODBC escape syntax
       and is accepted for ODBC compatibility. The value is
-      <replaceable>expr</replaceable>.
+      <replaceable>expr</replaceable>. The curly braces in the syntax
+      should be written literally; they are not metasyntax as used
+      elsewhere in syntax descriptions.
     </para>
 
     <para>

@@ -2561,11 +2563,12 @@
       interval. The syntax is <literal>INTERVAL
       <replaceable>expr</replaceable>
       <replaceable>unit</replaceable></literal>, where
-      <replaceable>unit</replaceable> is an interval specifier such as
+      <replaceable>unit</replaceable> is a specifier such as
       <literal>HOUR</literal>, <literal>DAY</literal>, or
-      <literal>WEEK</literal>. For the full list of unit specifiers, see
-      the description of the <literal role="func">DATE_ADD()</literal>
-      function in <xref linkend="date-and-time-functions"/>.
+      <literal>WEEK</literal>. For the full list of
+      <replaceable>unit</replaceable> specifiers, see the description of
+      the <literal role="func">DATE_ADD()</literal> function in
+      <xref linkend="date-and-time-functions"/>.
     </para>
 
     <para>

@@ -2576,10 +2579,11 @@
 
       <listitem>
         <para>
-          With <literal role="sqlmode">PIPES_AS_CONCAT</literal>
-          enabled, <literal role="op" condition="or">||</literal> is
-          string concatenation, not logical
-          <literal role="op">OR</literal>, with a precedence between
+          By default, <literal role="op" condition="or">||</literal> is
+          a logical <literal role="op">OR</literal> operator. With
+          <literal role="sqlmode">PIPES_AS_CONCAT</literal> enabled,
+          <literal role="op" condition="or">||</literal> is string
+          concatenation, with a precedence between
           <literal role="op" condition="bitwise-xor">^</literal> and the
           unary operators.
         </para>

@@ -2587,9 +2591,12 @@
 
       <listitem>
         <para>
-          With <literal role="sqlmode">HIGH_NOT_PRECEDENCE</literal>
-          enabled, <literal>NOT</literal> has the same precedence as
-          <literal role="op" condition="not">!</literal>.
+          By default, <literal role="op" condition="not">!</literal> has
+          a higher precedence than <literal>NOT</literal> as of MySQL
+          5.0.2. For earlier versions, or from 5.0.2 on with
+          <literal role="sqlmode">HIGH_NOT_PRECEDENCE</literal> enabled,
+          <literal role="op" condition="not">!</literal> and
+          <literal>NOT</literal> have the same precedence.
         </para>
       </listitem>
 


Modified: trunk/refman-5.1/language-structure-core.xml
===================================================================
--- trunk/refman-5.1/language-structure-core.xml	2010-08-19 16:44:19 UTC (rev 22336)
+++ trunk/refman-5.1/language-structure-core.xml	2010-08-19 16:55:36 UTC (rev 22337)
Changed blocks: 6, Lines Added: 78, Lines Deleted: 72; 12024 bytes

@@ -2798,79 +2798,79 @@
       The following rules define expression syntax in MySQL. The grammar
       shown here is based on that given in the
       <filename>sql/sql_yacc.yy</filename> file of MySQL source
-      distributions. See also the notes after the grammar for additional
+      distributions. See the notes after the grammar for additional
       information about some of the terms. Operator precedence is given
       in <xref linkend="operator-precedence"/>.
     </para>
 
 <programlisting>
 <replaceable>expr</replaceable>:
-  <replaceable>expr</replaceable> OR <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> || <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> XOR <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> AND <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> &amp;&amp; <replaceable>expr</replaceable>
-  NOT <replaceable>expr</replaceable>
-  ! <replaceable>expr</replaceable>
-  <replaceable>boolean_primary</replaceable> IS [NOT] {TRUE | FALSE | UNKNOWN}
-  <replaceable>boolean_primary</replaceable>
+    <replaceable>expr</replaceable> OR <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> || <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> XOR <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> AND <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> &amp;&amp; <replaceable>expr</replaceable>
+  | NOT <replaceable>expr</replaceable>
+  | ! <replaceable>expr</replaceable>
+  | <replaceable>boolean_primary</replaceable> IS [NOT] {TRUE | FALSE | UNKNOWN}
+  | <replaceable>boolean_primary</replaceable>
 
 <replaceable>boolean_primary</replaceable>:
-  <replaceable>boolean_primary</replaceable> IS [NOT] NULL
-  <replaceable>boolean_primary</replaceable> &lt;=&gt; <replaceable>predicate</replaceable>
-  <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> <replaceable>predicate</replaceable>
-  <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> {ALL | ANY} (<replaceable>subquery</replaceable>)
-  <replaceable>predicate</replaceable>
+    <replaceable>boolean_primary</replaceable> IS [NOT] NULL
+  | <replaceable>boolean_primary</replaceable> &lt;=&gt; <replaceable>predicate</replaceable>
+  | <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> <replaceable>predicate</replaceable>
+  | <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> {ALL | ANY} (<replaceable>subquery</replaceable>)
+  | <replaceable>predicate</replaceable>
 
 <replaceable>comparison_operator</replaceable>: = | &gt;= | &gt; | &lt;= | &lt; | &lt;&gt; | !=
 
 <replaceable>predicate</replaceable>:
-  <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>subquery</replaceable>)
-  <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  <replaceable>bit_expr</replaceable> [NOT] BETWEEN <replaceable>bit_expr</replaceable> AND <replaceable>predicate</replaceable>
-  <replaceable>bit_expr</replaceable> SOUNDS LIKE <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> [NOT] LIKE <replaceable>simple_expr</replaceable> [ESCAPE <replaceable>simple_expr</replaceable>]
-  <replaceable>bit_expr</replaceable> [NOT] REGEXP <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable>
+    <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>subquery</replaceable>)
+  | <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | <replaceable>bit_expr</replaceable> [NOT] BETWEEN <replaceable>bit_expr</replaceable> AND <replaceable>predicate</replaceable>
+  | <replaceable>bit_expr</replaceable> SOUNDS LIKE <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> [NOT] LIKE <replaceable>simple_expr</replaceable> [ESCAPE <replaceable>simple_expr</replaceable>]
+  | <replaceable>bit_expr</replaceable> [NOT] REGEXP <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable>
 
 <replaceable>bit_expr</replaceable>:
-  <replaceable>bit_expr</replaceable> | <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &amp; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &lt;&lt; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &gt;&gt; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> + <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> - <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> * <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> / <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> DIV <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> MOD <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> % <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> ^ <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> + <replaceable>interval_expr</replaceable>
-  <replaceable>bit_expr</replaceable> - <replaceable>interval_expr</replaceable>
-  <replaceable>simple_expr</replaceable>
+    <replaceable>bit_expr</replaceable> | <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &amp; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &lt;&lt; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &gt;&gt; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> + <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> - <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> * <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> / <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> DIV <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> MOD <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> % <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> ^ <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> + <replaceable>interval_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> - <replaceable>interval_expr</replaceable>
+  | <replaceable>simple_expr</replaceable>
 
 <replaceable>simple_expr</replaceable>:
-  <replaceable>literal</replaceable>
-  <replaceable>identifier</replaceable>
-  <replaceable>function_call</replaceable>
-  <replaceable>simple_expr</replaceable> COLLATE <replaceable>collation_name</replaceable>
-  <replaceable>param_marker</replaceable>
-  <replaceable>variable</replaceable>
-  <replaceable>simple_expr</replaceable> || <replaceable>simple_expr</replaceable>
-  + <replaceable>simple_expr</replaceable>
-  - <replaceable>simple_expr</replaceable>
-  ~ <replaceable>simple_expr</replaceable>
-  ! <replaceable>simple_expr</replaceable>
-  BINARY <replaceable>simple_expr</replaceable>
-  (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  ROW (<replaceable>expr</replaceable>, <replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  (<replaceable>subquery</replaceable>)
-  EXISTS (<replaceable>subquery</replaceable>)
-  { <replaceable>identifier</replaceable> <replaceable>expr</replaceable> }
-  <replaceable>match_expr</replaceable>
-  <replaceable>case_expr</replaceable>
-  <replaceable>interval_expr</replaceable>
+    <replaceable>literal</replaceable>
+  | <replaceable>identifier</replaceable>
+  | <replaceable>function_call</replaceable>
+  | <replaceable>simple_expr</replaceable> COLLATE <replaceable>collation_name</replaceable>
+  | <replaceable>param_marker</replaceable>
+  | <replaceable>variable</replaceable>
+  | <replaceable>simple_expr</replaceable> || <replaceable>simple_expr</replaceable>
+  | + <replaceable>simple_expr</replaceable>
+  | - <replaceable>simple_expr</replaceable>
+  | ~ <replaceable>simple_expr</replaceable>
+  | ! <replaceable>simple_expr</replaceable>
+  | BINARY <replaceable>simple_expr</replaceable>
+  | (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | ROW (<replaceable>expr</replaceable>, <replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | (<replaceable>subquery</replaceable>)
+  | EXISTS (<replaceable>subquery</replaceable>)
+  | {<replaceable>identifier</replaceable> <replaceable>expr</replaceable>}
+  | <replaceable>match_expr</replaceable>
+  | <replaceable>case_expr</replaceable>
+  | <replaceable>interval_expr</replaceable>
 </programlisting>
 
     <para>

@@ -2887,7 +2887,7 @@
 
     <para>
       Variables can be user variables, system variables, or stored
-      program local variables or parameters.
+      program local variables or parameters:
     </para>
 
     <itemizedlist>

@@ -2931,10 +2931,12 @@
     </para>
 
     <para>
-      <literal>{ <replaceable>identifier</replaceable>
-      <replaceable>expr</replaceable> }</literal> is ODBC escape syntax
+      <literal>{<replaceable>identifier</replaceable>
+      <replaceable>expr</replaceable>}</literal> is ODBC escape syntax
       and is accepted for ODBC compatibility. The value is
-      <replaceable>expr</replaceable>.
+      <replaceable>expr</replaceable>. The curly braces in the syntax
+      should be written literally; they are not metasyntax as used
+      elsewhere in syntax descriptions.
     </para>
 
     <para>

@@ -2954,11 +2956,12 @@
       interval. The syntax is <literal>INTERVAL
       <replaceable>expr</replaceable>
       <replaceable>unit</replaceable></literal>, where
-      <replaceable>unit</replaceable> is an interval specifier such as
+      <replaceable>unit</replaceable> is a specifier such as
       <literal>HOUR</literal>, <literal>DAY</literal>, or
-      <literal>WEEK</literal>. For the full list of unit specifiers, see
-      the description of the <literal role="func">DATE_ADD()</literal>
-      function in <xref linkend="date-and-time-functions"/>.
+      <literal>WEEK</literal>. For the full list of
+      <replaceable>unit</replaceable> specifiers, see the description of
+      the <literal role="func">DATE_ADD()</literal> function in
+      <xref linkend="date-and-time-functions"/>.
     </para>
 
     <para>

@@ -2969,10 +2972,11 @@
 
       <listitem>
         <para>
-          With <literal role="sqlmode">PIPES_AS_CONCAT</literal>
-          enabled, <literal role="op" condition="or">||</literal> is
-          string concatenation, not logical
-          <literal role="op">OR</literal>, with a precedence between
+          By default, <literal role="op" condition="or">||</literal> is
+          a logical <literal role="op">OR</literal> operator. With
+          <literal role="sqlmode">PIPES_AS_CONCAT</literal> enabled,
+          <literal role="op" condition="or">||</literal> is string
+          concatenation, with a precedence between
           <literal role="op" condition="bitwise-xor">^</literal> and the
           unary operators.
         </para>

@@ -2980,9 +2984,11 @@
 
       <listitem>
         <para>
-          With <literal role="sqlmode">HIGH_NOT_PRECEDENCE</literal>
-          enabled, <literal>NOT</literal> has the same precedence as
-          <literal role="op" condition="not">!</literal>.
+          By default, <literal role="op" condition="not">!</literal> has
+          a higher precedence than <literal>NOT</literal>. With
+          <literal role="sqlmode">HIGH_NOT_PRECEDENCE</literal> enabled,
+          <literal role="op" condition="not">!</literal> and
+          <literal>NOT</literal> have the same precedence.
         </para>
       </listitem>
 


Modified: trunk/refman-5.5/language-structure-core.xml
===================================================================
--- trunk/refman-5.5/language-structure-core.xml	2010-08-19 16:44:19 UTC (rev 22336)
+++ trunk/refman-5.5/language-structure-core.xml	2010-08-19 16:55:36 UTC (rev 22337)
Changed blocks: 6, Lines Added: 78, Lines Deleted: 72; 12024 bytes

@@ -2769,79 +2769,79 @@
       The following rules define expression syntax in MySQL. The grammar
       shown here is based on that given in the
       <filename>sql/sql_yacc.yy</filename> file of MySQL source
-      distributions. See also the notes after the grammar for additional
+      distributions. See the notes after the grammar for additional
       information about some of the terms. Operator precedence is given
       in <xref linkend="operator-precedence"/>.
     </para>
 
 <programlisting>
 <replaceable>expr</replaceable>:
-  <replaceable>expr</replaceable> OR <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> || <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> XOR <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> AND <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> &amp;&amp; <replaceable>expr</replaceable>
-  NOT <replaceable>expr</replaceable>
-  ! <replaceable>expr</replaceable>
-  <replaceable>boolean_primary</replaceable> IS [NOT] {TRUE | FALSE | UNKNOWN}
-  <replaceable>boolean_primary</replaceable>
+    <replaceable>expr</replaceable> OR <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> || <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> XOR <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> AND <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> &amp;&amp; <replaceable>expr</replaceable>
+  | NOT <replaceable>expr</replaceable>
+  | ! <replaceable>expr</replaceable>
+  | <replaceable>boolean_primary</replaceable> IS [NOT] {TRUE | FALSE | UNKNOWN}
+  | <replaceable>boolean_primary</replaceable>
 
 <replaceable>boolean_primary</replaceable>:
-  <replaceable>boolean_primary</replaceable> IS [NOT] NULL
-  <replaceable>boolean_primary</replaceable> &lt;=&gt; <replaceable>predicate</replaceable>
-  <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> <replaceable>predicate</replaceable>
-  <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> {ALL | ANY} (<replaceable>subquery</replaceable>)
-  <replaceable>predicate</replaceable>
+    <replaceable>boolean_primary</replaceable> IS [NOT] NULL
+  | <replaceable>boolean_primary</replaceable> &lt;=&gt; <replaceable>predicate</replaceable>
+  | <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> <replaceable>predicate</replaceable>
+  | <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> {ALL | ANY} (<replaceable>subquery</replaceable>)
+  | <replaceable>predicate</replaceable>
 
 <replaceable>comparison_operator</replaceable>: = | &gt;= | &gt; | &lt;= | &lt; | &lt;&gt; | !=
 
 <replaceable>predicate</replaceable>:
-  <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>subquery</replaceable>)
-  <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  <replaceable>bit_expr</replaceable> [NOT] BETWEEN <replaceable>bit_expr</replaceable> AND <replaceable>predicate</replaceable>
-  <replaceable>bit_expr</replaceable> SOUNDS LIKE <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> [NOT] LIKE <replaceable>simple_expr</replaceable> [ESCAPE <replaceable>simple_expr</replaceable>]
-  <replaceable>bit_expr</replaceable> [NOT] REGEXP <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable>
+    <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>subquery</replaceable>)
+  | <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | <replaceable>bit_expr</replaceable> [NOT] BETWEEN <replaceable>bit_expr</replaceable> AND <replaceable>predicate</replaceable>
+  | <replaceable>bit_expr</replaceable> SOUNDS LIKE <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> [NOT] LIKE <replaceable>simple_expr</replaceable> [ESCAPE <replaceable>simple_expr</replaceable>]
+  | <replaceable>bit_expr</replaceable> [NOT] REGEXP <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable>
 
 <replaceable>bit_expr</replaceable>:
-  <replaceable>bit_expr</replaceable> | <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &amp; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &lt;&lt; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &gt;&gt; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> + <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> - <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> * <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> / <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> DIV <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> MOD <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> % <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> ^ <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> + <replaceable>interval_expr</replaceable>
-  <replaceable>bit_expr</replaceable> - <replaceable>interval_expr</replaceable>
-  <replaceable>simple_expr</replaceable>
+    <replaceable>bit_expr</replaceable> | <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &amp; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &lt;&lt; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &gt;&gt; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> + <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> - <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> * <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> / <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> DIV <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> MOD <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> % <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> ^ <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> + <replaceable>interval_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> - <replaceable>interval_expr</replaceable>
+  | <replaceable>simple_expr</replaceable>
 
 <replaceable>simple_expr</replaceable>:
-  <replaceable>literal</replaceable>
-  <replaceable>identifier</replaceable>
-  <replaceable>function_call</replaceable>
-  <replaceable>simple_expr</replaceable> COLLATE <replaceable>collation_name</replaceable>
-  <replaceable>param_marker</replaceable>
-  <replaceable>variable</replaceable>
-  <replaceable>simple_expr</replaceable> || <replaceable>simple_expr</replaceable>
-  + <replaceable>simple_expr</replaceable>
-  - <replaceable>simple_expr</replaceable>
-  ~ <replaceable>simple_expr</replaceable>
-  ! <replaceable>simple_expr</replaceable>
-  BINARY <replaceable>simple_expr</replaceable>
-  (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  ROW (<replaceable>expr</replaceable>, <replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  (<replaceable>subquery</replaceable>)
-  EXISTS (<replaceable>subquery</replaceable>)
-  { <replaceable>identifier</replaceable> <replaceable>expr</replaceable> }
-  <replaceable>match_expr</replaceable>
-  <replaceable>case_expr</replaceable>
-  <replaceable>interval_expr</replaceable>
+    <replaceable>literal</replaceable>
+  | <replaceable>identifier</replaceable>
+  | <replaceable>function_call</replaceable>
+  | <replaceable>simple_expr</replaceable> COLLATE <replaceable>collation_name</replaceable>
+  | <replaceable>param_marker</replaceable>
+  | <replaceable>variable</replaceable>
+  | <replaceable>simple_expr</replaceable> || <replaceable>simple_expr</replaceable>
+  | + <replaceable>simple_expr</replaceable>
+  | - <replaceable>simple_expr</replaceable>
+  | ~ <replaceable>simple_expr</replaceable>
+  | ! <replaceable>simple_expr</replaceable>
+  | BINARY <replaceable>simple_expr</replaceable>
+  | (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | ROW (<replaceable>expr</replaceable>, <replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | (<replaceable>subquery</replaceable>)
+  | EXISTS (<replaceable>subquery</replaceable>)
+  | {<replaceable>identifier</replaceable> <replaceable>expr</replaceable>}
+  | <replaceable>match_expr</replaceable>
+  | <replaceable>case_expr</replaceable>
+  | <replaceable>interval_expr</replaceable>
 </programlisting>
 
     <para>

@@ -2858,7 +2858,7 @@
 
     <para>
       Variables can be user variables, system variables, or stored
-      program local variables or parameters.
+      program local variables or parameters:
     </para>
 
     <itemizedlist>

@@ -2902,10 +2902,12 @@
     </para>
 
     <para>
-      <literal>{ <replaceable>identifier</replaceable>
-      <replaceable>expr</replaceable> }</literal> is ODBC escape syntax
+      <literal>{<replaceable>identifier</replaceable>
+      <replaceable>expr</replaceable>}</literal> is ODBC escape syntax
       and is accepted for ODBC compatibility. The value is
-      <replaceable>expr</replaceable>.
+      <replaceable>expr</replaceable>. The curly braces in the syntax
+      should be written literally; they are not metasyntax as used
+      elsewhere in syntax descriptions.
     </para>
 
     <para>

@@ -2925,11 +2927,12 @@
       interval. The syntax is <literal>INTERVAL
       <replaceable>expr</replaceable>
       <replaceable>unit</replaceable></literal>, where
-      <replaceable>unit</replaceable> is an interval specifier such as
+      <replaceable>unit</replaceable> is a specifier such as
       <literal>HOUR</literal>, <literal>DAY</literal>, or
-      <literal>WEEK</literal>. For the full list of unit specifiers, see
-      the description of the <literal role="func">DATE_ADD()</literal>
-      function in <xref linkend="date-and-time-functions"/>.
+      <literal>WEEK</literal>. For the full list of
+      <replaceable>unit</replaceable> specifiers, see the description of
+      the <literal role="func">DATE_ADD()</literal> function in
+      <xref linkend="date-and-time-functions"/>.
     </para>
 
     <para>

@@ -2940,10 +2943,11 @@
 
       <listitem>
         <para>
-          With <literal role="sqlmode">PIPES_AS_CONCAT</literal>
-          enabled, <literal role="op" condition="or">||</literal> is
-          string concatenation, not logical
-          <literal role="op">OR</literal>, with a precedence between
+          By default, <literal role="op" condition="or">||</literal> is
+          a logical <literal role="op">OR</literal> operator. With
+          <literal role="sqlmode">PIPES_AS_CONCAT</literal> enabled,
+          <literal role="op" condition="or">||</literal> is string
+          concatenation, with a precedence between
           <literal role="op" condition="bitwise-xor">^</literal> and the
           unary operators.
         </para>

@@ -2951,9 +2955,11 @@
 
       <listitem>
         <para>
-          With <literal role="sqlmode">HIGH_NOT_PRECEDENCE</literal>
-          enabled, <literal>NOT</literal> has the same precedence as
-          <literal role="op" condition="not">!</literal>.
+          By default, <literal role="op" condition="not">!</literal> has
+          a higher precedence than <literal>NOT</literal>. With
+          <literal role="sqlmode">HIGH_NOT_PRECEDENCE</literal> enabled,
+          <literal role="op" condition="not">!</literal> and
+          <literal>NOT</literal> have the same precedence.
         </para>
       </listitem>
 


Modified: trunk/refman-5.6/language-structure-core.xml
===================================================================
--- trunk/refman-5.6/language-structure-core.xml	2010-08-19 16:44:19 UTC (rev 22336)
+++ trunk/refman-5.6/language-structure-core.xml	2010-08-19 16:55:36 UTC (rev 22337)
Changed blocks: 6, Lines Added: 78, Lines Deleted: 72; 12024 bytes

@@ -2769,79 +2769,79 @@
       The following rules define expression syntax in MySQL. The grammar
       shown here is based on that given in the
       <filename>sql/sql_yacc.yy</filename> file of MySQL source
-      distributions. See also the notes after the grammar for additional
+      distributions. See the notes after the grammar for additional
       information about some of the terms. Operator precedence is given
       in <xref linkend="operator-precedence"/>.
     </para>
 
 <programlisting>
 <replaceable>expr</replaceable>:
-  <replaceable>expr</replaceable> OR <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> || <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> XOR <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> AND <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> &amp;&amp; <replaceable>expr</replaceable>
-  NOT <replaceable>expr</replaceable>
-  ! <replaceable>expr</replaceable>
-  <replaceable>boolean_primary</replaceable> IS [NOT] {TRUE | FALSE | UNKNOWN}
-  <replaceable>boolean_primary</replaceable>
+    <replaceable>expr</replaceable> OR <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> || <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> XOR <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> AND <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> &amp;&amp; <replaceable>expr</replaceable>
+  | NOT <replaceable>expr</replaceable>
+  | ! <replaceable>expr</replaceable>
+  | <replaceable>boolean_primary</replaceable> IS [NOT] {TRUE | FALSE | UNKNOWN}
+  | <replaceable>boolean_primary</replaceable>
 
 <replaceable>boolean_primary</replaceable>:
-  <replaceable>boolean_primary</replaceable> IS [NOT] NULL
-  <replaceable>boolean_primary</replaceable> &lt;=&gt; <replaceable>predicate</replaceable>
-  <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> <replaceable>predicate</replaceable>
-  <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> {ALL | ANY} (<replaceable>subquery</replaceable>)
-  <replaceable>predicate</replaceable>
+    <replaceable>boolean_primary</replaceable> IS [NOT] NULL
+  | <replaceable>boolean_primary</replaceable> &lt;=&gt; <replaceable>predicate</replaceable>
+  | <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> <replaceable>predicate</replaceable>
+  | <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> {ALL | ANY} (<replaceable>subquery</replaceable>)
+  | <replaceable>predicate</replaceable>
 
 <replaceable>comparison_operator</replaceable>: = | &gt;= | &gt; | &lt;= | &lt; | &lt;&gt; | !=
 
 <replaceable>predicate</replaceable>:
-  <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>subquery</replaceable>)
-  <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  <replaceable>bit_expr</replaceable> [NOT] BETWEEN <replaceable>bit_expr</replaceable> AND <replaceable>predicate</replaceable>
-  <replaceable>bit_expr</replaceable> SOUNDS LIKE <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> [NOT] LIKE <replaceable>simple_expr</replaceable> [ESCAPE <replaceable>simple_expr</replaceable>]
-  <replaceable>bit_expr</replaceable> [NOT] REGEXP <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable>
+    <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>subquery</replaceable>)
+  | <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | <replaceable>bit_expr</replaceable> [NOT] BETWEEN <replaceable>bit_expr</replaceable> AND <replaceable>predicate</replaceable>
+  | <replaceable>bit_expr</replaceable> SOUNDS LIKE <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> [NOT] LIKE <replaceable>simple_expr</replaceable> [ESCAPE <replaceable>simple_expr</replaceable>]
+  | <replaceable>bit_expr</replaceable> [NOT] REGEXP <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable>
 
 <replaceable>bit_expr</replaceable>:
-  <replaceable>bit_expr</replaceable> | <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &amp; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &lt;&lt; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &gt;&gt; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> + <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> - <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> * <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> / <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> DIV <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> MOD <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> % <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> ^ <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> + <replaceable>interval_expr</replaceable>
-  <replaceable>bit_expr</replaceable> - <replaceable>interval_expr</replaceable>
-  <replaceable>simple_expr</replaceable>
+    <replaceable>bit_expr</replaceable> | <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &amp; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &lt;&lt; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &gt;&gt; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> + <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> - <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> * <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> / <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> DIV <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> MOD <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> % <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> ^ <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> + <replaceable>interval_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> - <replaceable>interval_expr</replaceable>
+  | <replaceable>simple_expr</replaceable>
 
 <replaceable>simple_expr</replaceable>:
-  <replaceable>literal</replaceable>
-  <replaceable>identifier</replaceable>
-  <replaceable>function_call</replaceable>
-  <replaceable>simple_expr</replaceable> COLLATE <replaceable>collation_name</replaceable>
-  <replaceable>param_marker</replaceable>
-  <replaceable>variable</replaceable>
-  <replaceable>simple_expr</replaceable> || <replaceable>simple_expr</replaceable>
-  + <replaceable>simple_expr</replaceable>
-  - <replaceable>simple_expr</replaceable>
-  ~ <replaceable>simple_expr</replaceable>
-  ! <replaceable>simple_expr</replaceable>
-  BINARY <replaceable>simple_expr</replaceable>
-  (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  ROW (<replaceable>expr</replaceable>, <replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  (<replaceable>subquery</replaceable>)
-  EXISTS (<replaceable>subquery</replaceable>)
-  { <replaceable>identifier</replaceable> <replaceable>expr</replaceable> }
-  <replaceable>match_expr</replaceable>
-  <replaceable>case_expr</replaceable>
-  <replaceable>interval_expr</replaceable>
+    <replaceable>literal</replaceable>
+  | <replaceable>identifier</replaceable>
+  | <replaceable>function_call</replaceable>
+  | <replaceable>simple_expr</replaceable> COLLATE <replaceable>collation_name</replaceable>
+  | <replaceable>param_marker</replaceable>
+  | <replaceable>variable</replaceable>
+  | <replaceable>simple_expr</replaceable> || <replaceable>simple_expr</replaceable>
+  | + <replaceable>simple_expr</replaceable>
+  | - <replaceable>simple_expr</replaceable>
+  | ~ <replaceable>simple_expr</replaceable>
+  | ! <replaceable>simple_expr</replaceable>
+  | BINARY <replaceable>simple_expr</replaceable>
+  | (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | ROW (<replaceable>expr</replaceable>, <replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | (<replaceable>subquery</replaceable>)
+  | EXISTS (<replaceable>subquery</replaceable>)
+  | {<replaceable>identifier</replaceable> <replaceable>expr</replaceable>}
+  | <replaceable>match_expr</replaceable>
+  | <replaceable>case_expr</replaceable>
+  | <replaceable>interval_expr</replaceable>
 </programlisting>
 
     <para>

@@ -2858,7 +2858,7 @@
 
     <para>
       Variables can be user variables, system variables, or stored
-      program local variables or parameters.
+      program local variables or parameters:
     </para>
 
     <itemizedlist>

@@ -2902,10 +2902,12 @@
     </para>
 
     <para>
-      <literal>{ <replaceable>identifier</replaceable>
-      <replaceable>expr</replaceable> }</literal> is ODBC escape syntax
+      <literal>{<replaceable>identifier</replaceable>
+      <replaceable>expr</replaceable>}</literal> is ODBC escape syntax
       and is accepted for ODBC compatibility. The value is
-      <replaceable>expr</replaceable>.
+      <replaceable>expr</replaceable>. The curly braces in the syntax
+      should be written literally; they are not metasyntax as used
+      elsewhere in syntax descriptions.
     </para>
 
     <para>

@@ -2925,11 +2927,12 @@
       interval. The syntax is <literal>INTERVAL
       <replaceable>expr</replaceable>
       <replaceable>unit</replaceable></literal>, where
-      <replaceable>unit</replaceable> is an interval specifier such as
+      <replaceable>unit</replaceable> is a specifier such as
       <literal>HOUR</literal>, <literal>DAY</literal>, or
-      <literal>WEEK</literal>. For the full list of unit specifiers, see
-      the description of the <literal role="func">DATE_ADD()</literal>
-      function in <xref linkend="date-and-time-functions"/>.
+      <literal>WEEK</literal>. For the full list of
+      <replaceable>unit</replaceable> specifiers, see the description of
+      the <literal role="func">DATE_ADD()</literal> function in
+      <xref linkend="date-and-time-functions"/>.
     </para>
 
     <para>

@@ -2940,10 +2943,11 @@
 
       <listitem>
         <para>
-          With <literal role="sqlmode">PIPES_AS_CONCAT</literal>
-          enabled, <literal role="op" condition="or">||</literal> is
-          string concatenation, not logical
-          <literal role="op">OR</literal>, with a precedence between
+          By default, <literal role="op" condition="or">||</literal> is
+          a logical <literal role="op">OR</literal> operator. With
+          <literal role="sqlmode">PIPES_AS_CONCAT</literal> enabled,
+          <literal role="op" condition="or">||</literal> is string
+          concatenation, with a precedence between
           <literal role="op" condition="bitwise-xor">^</literal> and the
           unary operators.
         </para>

@@ -2951,9 +2955,11 @@
 
       <listitem>
         <para>
-          With <literal role="sqlmode">HIGH_NOT_PRECEDENCE</literal>
-          enabled, <literal>NOT</literal> has the same precedence as
-          <literal role="op" condition="not">!</literal>.
+          By default, <literal role="op" condition="not">!</literal> has
+          a higher precedence than <literal>NOT</literal>. With
+          <literal role="sqlmode">HIGH_NOT_PRECEDENCE</literal> enabled,
+          <literal role="op" condition="not">!</literal> and
+          <literal>NOT</literal> have the same precedence.
         </para>
       </listitem>
 


Modified: trunk/refman-6.0/language-structure-core.xml
===================================================================
--- trunk/refman-6.0/language-structure-core.xml	2010-08-19 16:44:19 UTC (rev 22336)
+++ trunk/refman-6.0/language-structure-core.xml	2010-08-19 16:55:36 UTC (rev 22337)
Changed blocks: 6, Lines Added: 78, Lines Deleted: 72; 12024 bytes

@@ -2777,79 +2777,79 @@
       The following rules define expression syntax in MySQL. The grammar
       shown here is based on that given in the
       <filename>sql/sql_yacc.yy</filename> file of MySQL source
-      distributions. See also the notes after the grammar for additional
+      distributions. See the notes after the grammar for additional
       information about some of the terms. Operator precedence is given
       in <xref linkend="operator-precedence"/>.
     </para>
 
 <programlisting>
 <replaceable>expr</replaceable>:
-  <replaceable>expr</replaceable> OR <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> || <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> XOR <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> AND <replaceable>expr</replaceable>
-  <replaceable>expr</replaceable> &amp;&amp; <replaceable>expr</replaceable>
-  NOT <replaceable>expr</replaceable>
-  ! <replaceable>expr</replaceable>
-  <replaceable>boolean_primary</replaceable> IS [NOT] {TRUE | FALSE | UNKNOWN}
-  <replaceable>boolean_primary</replaceable>
+    <replaceable>expr</replaceable> OR <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> || <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> XOR <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> AND <replaceable>expr</replaceable>
+  | <replaceable>expr</replaceable> &amp;&amp; <replaceable>expr</replaceable>
+  | NOT <replaceable>expr</replaceable>
+  | ! <replaceable>expr</replaceable>
+  | <replaceable>boolean_primary</replaceable> IS [NOT] {TRUE | FALSE | UNKNOWN}
+  | <replaceable>boolean_primary</replaceable>
 
 <replaceable>boolean_primary</replaceable>:
-  <replaceable>boolean_primary</replaceable> IS [NOT] NULL
-  <replaceable>boolean_primary</replaceable> &lt;=&gt; <replaceable>predicate</replaceable>
-  <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> <replaceable>predicate</replaceable>
-  <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> {ALL | ANY} (<replaceable>subquery</replaceable>)
-  <replaceable>predicate</replaceable>
+    <replaceable>boolean_primary</replaceable> IS [NOT] NULL
+  | <replaceable>boolean_primary</replaceable> &lt;=&gt; <replaceable>predicate</replaceable>
+  | <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> <replaceable>predicate</replaceable>
+  | <replaceable>boolean_primary</replaceable> <replaceable>comparison_operator</replaceable> {ALL | ANY} (<replaceable>subquery</replaceable>)
+  | <replaceable>predicate</replaceable>
 
 <replaceable>comparison_operator</replaceable>: = | &gt;= | &gt; | &lt;= | &lt; | &lt;&gt; | !=
 
 <replaceable>predicate</replaceable>:
-  <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>subquery</replaceable>)
-  <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  <replaceable>bit_expr</replaceable> [NOT] BETWEEN <replaceable>bit_expr</replaceable> AND <replaceable>predicate</replaceable>
-  <replaceable>bit_expr</replaceable> SOUNDS LIKE <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> [NOT] LIKE <replaceable>simple_expr</replaceable> [ESCAPE <replaceable>simple_expr</replaceable>]
-  <replaceable>bit_expr</replaceable> [NOT] REGEXP <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable>
+    <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>subquery</replaceable>)
+  | <replaceable>bit_expr</replaceable> [NOT] IN (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | <replaceable>bit_expr</replaceable> [NOT] BETWEEN <replaceable>bit_expr</replaceable> AND <replaceable>predicate</replaceable>
+  | <replaceable>bit_expr</replaceable> SOUNDS LIKE <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> [NOT] LIKE <replaceable>simple_expr</replaceable> [ESCAPE <replaceable>simple_expr</replaceable>]
+  | <replaceable>bit_expr</replaceable> [NOT] REGEXP <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable>
 
 <replaceable>bit_expr</replaceable>:
-  <replaceable>bit_expr</replaceable> | <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &amp; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &lt;&lt; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> &gt;&gt; <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> + <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> - <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> * <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> / <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> DIV <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> MOD <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> % <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> ^ <replaceable>bit_expr</replaceable>
-  <replaceable>bit_expr</replaceable> + <replaceable>interval_expr</replaceable>
-  <replaceable>bit_expr</replaceable> - <replaceable>interval_expr</replaceable>
-  <replaceable>simple_expr</replaceable>
+    <replaceable>bit_expr</replaceable> | <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &amp; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &lt;&lt; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> &gt;&gt; <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> + <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> - <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> * <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> / <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> DIV <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> MOD <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> % <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> ^ <replaceable>bit_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> + <replaceable>interval_expr</replaceable>
+  | <replaceable>bit_expr</replaceable> - <replaceable>interval_expr</replaceable>
+  | <replaceable>simple_expr</replaceable>
 
 <replaceable>simple_expr</replaceable>:
-  <replaceable>literal</replaceable>
-  <replaceable>identifier</replaceable>
-  <replaceable>function_call</replaceable>
-  <replaceable>simple_expr</replaceable> COLLATE <replaceable>collation_name</replaceable>
-  <replaceable>param_marker</replaceable>
-  <replaceable>variable</replaceable>
-  <replaceable>simple_expr</replaceable> || <replaceable>simple_expr</replaceable>
-  + <replaceable>simple_expr</replaceable>
-  - <replaceable>simple_expr</replaceable>
-  ~ <replaceable>simple_expr</replaceable>
-  ! <replaceable>simple_expr</replaceable>
-  BINARY <replaceable>simple_expr</replaceable>
-  (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  ROW (<replaceable>expr</replaceable>, <replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
-  (<replaceable>subquery</replaceable>)
-  EXISTS (<replaceable>subquery</replaceable>)
-  { <replaceable>identifier</replaceable> <replaceable>expr</replaceable> }
-  <replaceable>match_expr</replaceable>
-  <replaceable>case_expr</replaceable>
-  <replaceable>interval_expr</replaceable>
+    <replaceable>literal</replaceable>
+  | <replaceable>identifier</replaceable>
+  | <replaceable>function_call</replaceable>
+  | <replaceable>simple_expr</replaceable> COLLATE <replaceable>collation_name</replaceable>
+  | <replaceable>param_marker</replaceable>
+  | <replaceable>variable</replaceable>
+  | <replaceable>simple_expr</replaceable> || <replaceable>simple_expr</replaceable>
+  | + <replaceable>simple_expr</replaceable>
+  | - <replaceable>simple_expr</replaceable>
+  | ~ <replaceable>simple_expr</replaceable>
+  | ! <replaceable>simple_expr</replaceable>
+  | BINARY <replaceable>simple_expr</replaceable>
+  | (<replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | ROW (<replaceable>expr</replaceable>, <replaceable>expr</replaceable> [, <replaceable>expr</replaceable>] ...)
+  | (<replaceable>subquery</replaceable>)
+  | EXISTS (<replaceable>subquery</replaceable>)
+  | {<replaceable>identifier</replaceable> <replaceable>expr</replaceable>}
+  | <replaceable>match_expr</replaceable>
+  | <replaceable>case_expr</replaceable>
+  | <replaceable>interval_expr</replaceable>
 </programlisting>
 
     <para>

@@ -2866,7 +2866,7 @@
 
     <para>
       Variables can be user variables, system variables, or stored
-      program local variables or parameters.
+      program local variables or parameters:
     </para>
 
     <itemizedlist>

@@ -2910,10 +2910,12 @@
     </para>
 
     <para>
-      <literal>{ <replaceable>identifier</replaceable>
-      <replaceable>expr</replaceable> }</literal> is ODBC escape syntax
+      <literal>{<replaceable>identifier</replaceable>
+      <replaceable>expr</replaceable>}</literal> is ODBC escape syntax
       and is accepted for ODBC compatibility. The value is
-      <replaceable>expr</replaceable>.
+      <replaceable>expr</replaceable>. The curly braces in the syntax
+      should be written literally; they are not metasyntax as used
+      elsewhere in syntax descriptions.
     </para>
 
     <para>

@@ -2933,11 +2935,12 @@
       interval. The syntax is <literal>INTERVAL
       <replaceable>expr</replaceable>
       <replaceable>unit</replaceable></literal>, where
-      <replaceable>unit</replaceable> is an interval specifier such as
+      <replaceable>unit</replaceable> is a specifier such as
       <literal>HOUR</literal>, <literal>DAY</literal>, or
-      <literal>WEEK</literal>. For the full list of unit specifiers, see
-      the description of the <literal role="func">DATE_ADD()</literal>
-      function in <xref linkend="date-and-time-functions"/>.
+      <literal>WEEK</literal>. For the full list of
+      <replaceable>unit</replaceable> specifiers, see the description of
+      the <literal role="func">DATE_ADD()</literal> function in
+      <xref linkend="date-and-time-functions"/>.
     </para>
 
     <para>

@@ -2948,10 +2951,11 @@
 
       <listitem>
         <para>
-          With <literal role="sqlmode">PIPES_AS_CONCAT</literal>
-          enabled, <literal role="op" condition="or">||</literal> is
-          string concatenation, not logical
-          <literal role="op">OR</literal>, with a precedence between
+          By default, <literal role="op" condition="or">||</literal> is
+          a logical <literal role="op">OR</literal> operator. With
+          <literal role="sqlmode">PIPES_AS_CONCAT</literal> enabled,
+          <literal role="op" condition="or">||</literal> is string
+          concatenation, with a precedence between
           <literal role="op" condition="bitwise-xor">^</literal> and the
           unary operators.
         </para>

@@ -2959,9 +2963,11 @@
 
       <listitem>
         <para>
-          With <literal role="sqlmode">HIGH_NOT_PRECEDENCE</literal>
-          enabled, <literal>NOT</literal> has the same precedence as
-          <literal role="op" condition="not">!</literal>.
+          By default, <literal role="op" condition="not">!</literal> has
+          a higher precedence than <literal>NOT</literal>. With
+          <literal role="sqlmode">HIGH_NOT_PRECEDENCE</literal> enabled,
+          <literal role="op" condition="not">!</literal> and
+          <literal>NOT</literal> have the same precedence.
         </para>
       </listitem>
 


Thread
svn commit - mysqldoc@docsrva: r22337 - in trunk: . refman-4.1 refman-5.0 refman-5.1 refman-5.5 refman-5.6 refman-6.0paul.dubois19 Aug