List:Commits« Previous MessageNext Message »
From:mcbrown Date:August 7 2007 9:51am
Subject:svn commit - mysqldoc@docsrva: r7359 - in trunk: dynamic-docs/opsfunctions tools
View as plain text  
Author: mcbrown
Date: 2007-08-07 11:51:49 +0200 (Tue, 07 Aug 2007)
New Revision: 7359

Log:
Updating operators/functions so that they now exist in only one file, instead of two



Added:
   trunk/dynamic-docs/opsfunctions/opfunctions.xml
Modified:
   trunk/dynamic-docs/opsfunctions/opfunctions.dtd
   trunk/tools/dyndocs-opsfuncs-generate.pl


Modified: trunk/dynamic-docs/opsfunctions/opfunctions.dtd
===================================================================
--- trunk/dynamic-docs/opsfunctions/opfunctions.dtd	2007-08-07 08:06:56 UTC (rev 7358)
+++ trunk/dynamic-docs/opsfunctions/opfunctions.dtd	2007-08-07 09:51:49 UTC (rev 7359)
Changed blocks: 1, Lines Added: 9, Lines Deleted: 17; 1675 bytes

@@ -17,24 +17,16 @@
 
 <!ELEMENT return (#PCDATA)>
 <!ATTLIST return type CDATA #REQUIRED>
-<!ELEMENT opfunctions (operator | function)*>
-<!ELEMENT function (display+ , description ,  arguments+ , return , error, versions+)>
-<!ATTLIST function inversion CDATA #IMPLIED>
-<!ATTLIST function xrefto CDATA #IMPLIED>
-<!ATTLIST function outversion CDATA #IMPLIED>
-<!ATTLIST function deprecated CDATA #IMPLIED>
-<!ATTLIST function id ID #REQUIRED>
-<!ATTLIST function class CDATA #REQUIRED>
+<!ELEMENT opfunctions (opfunction)*>
+<!ELEMENT opfunction (display+ , description ,  arguments* , return* , error*, versions+)>
+<!ATTLIST opfunction inversion CDATA #IMPLIED>
+<!ATTLIST opfunction xrefto CDATA #IMPLIED>
+<!ATTLIST opfunction outversion CDATA #IMPLIED>
+<!ATTLIST opfunction deprecated CDATA #IMPLIED>
+<!ATTLIST opfunction id ID #REQUIRED>
+<!ATTLIST opfunction class CDATA #REQUIRED>
+<!ATTLIST opfunction type (function|operator) #REQUIRED>
 
-<!-- Operator definition. Operators are simple, just ID, description, manual
-version -->
-<!ELEMENT operator (display+ , description, arguments*, return*, error*, versions+)>
-<!ATTLIST operator id ID #REQUIRED>
-<!ATTLIST operator class CDATA #REQUIRED>
-<!ATTLIST operator inversion CDATA #IMPLIED>
-<!ATTLIST operator outversion CDATA #IMPLIED>
-<!ATTLIST operator deprecated CDATA #IMPLIED>
-
 <!ELEMENT display (#PCDATA)>
 
 <!ELEMENT error (#PCDATA)>


Added: trunk/dynamic-docs/opsfunctions/opfunctions.xml
===================================================================
--- trunk/dynamic-docs/opsfunctions/opfunctions.xml	                        (rev 0)
+++ trunk/dynamic-docs/opsfunctions/opfunctions.xml	2007-08-07 09:51:49 UTC (rev 7359)
Changed blocks: 1, Lines Added: 4136, Lines Deleted: 0; 143505 bytes

@@ -0,0 +1,4136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE opfunctions SYSTEM "./opfunctions.dtd">
+<opfunctions>
+  
+  <opfunction type="function" id="case" class="flow-control">
+    <display>CASE</display>
+    <description lang="en">Case statement</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="none"/>
+    <error type="sql"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="extractvalue" inversion="5.1.5" class="xml">
+    <display>ExtractValue()</display>
+    <description lang="en">Extracts a value from an XML string using XPath notation</description>
+    <arguments>
+      <format><![CDATA[<replaceable>xml_frag</replaceable>, 
+        <replaceable>xml_path</replaceable>]]></format>
+      <argument seq="1" name="xml_frag" type="string">XML fragment</argument>
+      <argument seq="2" name="xml_path" type="string">XPath
+      specification</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="cast" class="cast">
+    <display>CAST()</display>
+    <description lang="en">Cast a value as a certain type</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable> AS
+      <replaceable>type</replaceable>]]></format>
+      <!--use mixed where more than one data type is legal-->
+      <argument seq="1" name="expr" type="mixed">Value to cast</argument>
+      <argument seq="2" name="type" type="string">Datatype to cast
+      to</argument>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="abs" class="numeric-mathematical">
+    <display>ABS()</display>
+    <description lang="en">Return the absolute value</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="acos" class="numeric-mathematical">
+    <display>ACOS()</display>
+    <description lang="en">Return the arc cosine</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="asin" class="numeric-mathematical">
+    <display>ASIN()</display>
+    <description lang="en">Return the arc sine</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="atan" class="numeric-mathematical">
+    <display>ATAN()</display>
+    <description lang="en">Return the arc tangent</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="atan2" class="numeric-mathematical">
+    <display>ATAN2()</display>
+    <display>ATAN()</display>
+    <description lang="en">Return the arc tangent of the two arguments</description>
+    <arguments>
+      <format><![CDATA[<replaceable>Y</replaceable>,<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+      <argument seq="2" name="expr" type="numeric"></argument>
+    </arguments>
+
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="ceiling" class="numeric-mathematical">
+    <display>CEILING()</display>
+    <display>CEIL()</display>
+    <description lang="en">Return the smallest integer value not less than
+    the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="cos" class="numeric-mathematical">
+    <display>COS()</display>
+    <description lang="en">Return the cosine</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="cot" class="numeric-mathematical">
+    <display>COT()</display>
+    <description lang="en">Return the cotangent</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="crc32" class="numeric-mathematical" inversion="4.1.0">
+    <display>CRC32()</display>
+    <description lang="en">Compute a cyclic redundancy check value</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="degrees" class="numeric-mathematical">
+    <display>DEGREES()</display>
+    <description lang="en">Convert radians to degrees</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Radians</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+   
+  <opfunction type="function" id="exp" class="numeric-mathematical">
+    <display>EXP()</display>
+    <description lang="en">Raise to the power of</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+    
+  <opfunction type="function" id="floor" class="numeric-mathematical">
+    <display>FLOOR()</display>
+    <description lang="en">Return the largest integer value not greater than
+    the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="ln" class="numeric-mathematical">
+    <display>LN()</display>
+    <description lang="en">Return the natural logarithm of the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="log" class="numeric-mathematical">
+    <display>LOG()</display>
+    <description lang="en">
+      Return the natural logarithm of the first argument
+    </description>
+    <arguments>
+      <format><![CDATA[<replaceable>B</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <arguments>
+      <format><![CDATA[<replaceable>B</replaceable>,<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+      <argument seq="2" name="expr" type="numeric">Base</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="log2" class="numeric-mathematical">
+    <display>LOG2()</display>
+    <description lang="en">Return the base-2 logarithm of the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="log10" class="numeric-mathematical">
+    <display>LOG10()</display>
+    <description lang="en">Return the base-10 logarithm of the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="function-mod" xrefto="function-mod" class="numeric-mathematical">
+    <!--id can't be the same as the operator-->
+    <display>MOD()</display>
+    <description lang="en">Return the remainder</description>
+    <arguments>
+      <format><![CDATA[<replaceable>N</replaceable>,<replaceable>M</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Dividend</argument>
+      <argument seq="2" name="expr" type="numeric">Divisor</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="pi" class="numeric-mathematical">
+    <display>PI()</display>
+    <description lang="en">Return the value of pi</description>
+    <arguments>
+      <format></format>
+     </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="pow" class="numeric-mathematical">
+    <display>POW()</display>
+    <display>POWER()</display>
+    <description lang="en">Return the argument raised to the specified power</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>,<replaceable>Y</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+      <argument seq="2" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="radians" class="numeric-mathematical">
+    <display>RADIANS()</display>
+    <description lang="en">Return argument converted to radians</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Degrees</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="rand" class="numeric-mathematical">
+    <display>RAND()</display>
+    <description lang="en">Return a random floating-point value</description>
+    <arguments>
+      <format><![CDATA[[<replaceable>N</replaceable>]]]></format>
+      <argument seq="1" name="expr" type="numeric">Seed value</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="round" class="numeric-mathematical">
+    <display>ROUND()</display>
+    <description lang="en">Round the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>,<replaceable>D</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+      <argument seq="2" name="expr" type="numeric">Number of decimal places</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="sign" class="numeric-mathematical">
+    <display>SIGN()</display>
+    <description lang="en">Return the sign of the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="sin" class="numeric-mathematical">
+    <display>SIN()</display>
+    <description lang="en">Return the sine of the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Radians</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="sqrt" class="numeric-mathematical">
+    <display>SQRT()</display>
+    <description lang="en">Return the square root of the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="tan" class="numeric-mathematical">
+    <display>TAN()</display>
+    <description lang="en">Return the tangent of the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Radians</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="truncate" class="numeric-mathematical">
+    <display>TRUNCATE()</display>
+    <description lang="en">Truncate to specified number of decimal places</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>,<replaceable>D</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+      <argument seq="2" name="expr" type="numeric">Number of decimal places</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="adddate" class="datetime" inversion="4.1.1">
+    <display>ADDDATE()</display>
+    <description lang="en">Add dates</description>
+    <arguments>
+      <format><![CDATA[
+        <replaceable>date</replaceable>,INTERVAL
+        <replaceable>expr</replaceable>
+        <replaceable>unit</replaceable>]]>
+      </format>
+      <argument seq="1" name="expr" type="date">Initial date</argument>
+      <!--date in any format-->
+      <argument seq="2" name="expr" type="numeric">Amount to add</argument>
+      <argument seq="3" name="expr" type="string">Unit</argument>
+    </arguments>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>,<replaceable>days</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date">Initial date</argument>
+      <argument seq="2" name="expr" type="numeric">Units in Days</argument>
+    </arguments>
+    <return type="date"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="addtime" class="datetime" inversion="4.1.1">
+    <display>ADDTIME()</display>
+    <description lang="en">Add time</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr1</replaceable>,<replaceable>expr2</replaceable>]]></format>
+      <argument seq="1" name="expr" type="datetime">Date or time</argument>
+      <argument seq="2" name="expr" type="time">Time</argument>
+    </arguments>
+    <return type="time"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  
+  <opfunction type="function" id="convert-tz" class="datetime" inversion="4.1.3">
+    <display>CONVERT_TZ()</display>
+    <description lang="en">Convert from one timezone to another</description>
+    <arguments>
+      <format><![CDATA[<replaceable>dt</replaceable>,<replaceable>from_tz</replaceable>,<replaceable>to_tz</replaceable>]]></format>
+      <argument seq="1" name="expr" type="datetime"></argument>
+      <argument seq="2" name="expr" type="string">From Timezone</argument>
+      <argument seq="3" name="expr" type="string">To timezone</argument>
+    </arguments>
+    <return type="datetime"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="curdate" class="datetime">
+    <display>CURDATE()</display>
+    <description lang="en">Return the current date</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    
+    <return type="datetime"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  
+  <opfunction type="function" id="current-date" class="datetime">
+    <display>CURRENT_DATE()</display>
+    <display>CURRENT_DATE</display>
+    <description lang="en">Synonyms for CURDATE()</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    
+    <return type="datetime"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="curtime" class="datetime">
+    <display>CURTIME()</display>
+    <description lang="en">Return the current time</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    
+    <return type="time"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  
+  <opfunction type="function" id="current-time" class="datetime">
+    <display>CURRENT_TIME()</display>
+    <display>CURRENT_TIME</display>
+    <description lang="en">Synonyms for CURTIME()</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    
+    <return type="time"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="current-timestamp" class="datetime">
+    <display>CURRENT_TIMESTAMP()</display>
+    <display>CURRENT_TIMESTAMP</display>
+    <description lang="en">Synonyms for NOW()</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    
+    <return type="datetime"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="date" class="datetime" inversion="4.1.1">
+    <display>DATE()</display>
+    <description lang="en">Extract the date part of a date or datetime expression</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="datetime"></argument>
+    </arguments>
+    <return type="date"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="datediff" class="datetime" inversion="4.1.1">
+    <display>DATEDIFF()</display>
+    <description lang="en">Subtract two dates</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr1</replaceable>,<replaceable>expr2</replaceable>]]></format>
+      <argument seq="1" name="expr" type="datetime">Minuend</argument>
+      <argument seq="2" name="expr" type="datetime">Subtrahend</argument>
+    </arguments>
+    <return type="days"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="date-add" class="datetime">
+    <display>DATE_ADD()</display>
+    <description lang="en">Add two dates</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>,INTERVAL
+          <replaceable>expr</replaceable>
+          <replaceable>unit</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date">Date</argument>
+      <argument seq="2" name="expr" type="numeric">Amount to be added</argument>
+      <argument seq="3" name="expr" type="string">Unit</argument>
+    </arguments>
+    <return type="date"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="date-sub" class="datetime">
+    <!-- the id in the manual is the same as date-add-->
+    <display>DATE_SUB()</display>
+    <description lang="en">Subtract two dates</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>,INTERVAL
+          <replaceable>expr</replaceable>
+          <replaceable>unit</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date">Date</argument>
+      <argument seq="2" name="expr" type="numeric">Amount to be subtracted</argument>
+      <argument seq="3" name="expr" type="string">Unit</argument>
+    </arguments>
+    <return type="date"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="date-format" class="datetime">
+    <display>DATE_FORMAT()</display>
+    <description lang="en">Format date as specified</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>,<replaceable>format</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date">Date</argument>
+      <argument seq="2" name="expr" type="string">Format specifier</argument>
+    </arguments>
+    <return type="date"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+    
+  <opfunction type="function" id="day" class="datetime" inversion="4.1.1">
+    <display>DAY()</display>
+    <description lang="en">Synonym for DAYOFMONTH()</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+    </arguments>
+    <return type="date"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="dayname" class="datetime"  inversion="4.1.21">
+    <display>DAYNAME()</display>
+    <description lang="en">Return the name of the weekday</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="dayofmonth" class="datetime">
+    <display>DAYOFMONTH()</display>
+    <description lang="en">Return the day of the month (1-31)</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="dayofweek" class="datetime">
+    <display>DAYOFWEEK()</display>
+    <description lang="en">Return the weekday index of the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="dayofyear" class="datetime">
+    <display>DAYOFYEAR()</display>
+    <description lang="en">Return the day of the year (1-366)</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="extract" class="datetime">
+    <display>EXTRACT</display>
+    <description lang="en">Extract part of a date</description>
+    <arguments>
+      <format><![CDATA[<replaceable>unit</replaceable> FROM
+          <replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Unit specifier</argument>
+      <argument seq="2" name="expr" type="date"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="from-days" class="datetime">
+    <display>FROM_DAYS()</display>
+    <description lang="en">Convert a day number to a date</description>
+    <arguments>
+      <format><![CDATA[<replaceable>N</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="date"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="from-unixtime" class="datetime">
+    <display>FROM_UNIXTIME()</display>
+    <description lang="en">Format date as a UNIX timestamp</description>
+    <arguments>
+      <format><![CDATA[<replaceable>unix_timestamp</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <arguments>
+      <format><![CDATA[<replaceable>unix_timestamp</replaceable>,
+      <replaceable>format</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+      <argument seq="2" name="expr" type="string">Format specifier</argument>
+    </arguments>
+    <return type="date"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="get-format" class="datetime" inversion="4.1.1">
+    <display>GET_FORMAT()</display>
+    <description lang="en">Return a date format string</description>
+    <arguments>
+      <format><![CDATA[DATE|TIME|DATETIME,
+          'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL']]></format>
+      <argument seq="1" name="expr" type="numeric">Type specifier</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="hour" class="datetime">
+    <display>HOUR()</display>
+    <description lang="en">Extract the hour</description>
+    <arguments>
+      <format><![CDATA[<replaceable>time</replaceable>]]></format>
+      <argument seq="1" name="expr" type="time"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="last-day" class="datetime" inversion="4.1.1">
+    <display>LAST_DAY</display>
+    <description lang="en">Return the last day of the month for the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <!--date or datetime, should this be mixed?-->
+      <argument seq="1" name="expr" type="datetime"></argument>
+    </arguments>
+    <return type="date"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="localtime" class="datetime">
+    <display>LOCALTIME()</display>
+    <display>LOCALTIME</display>
+    <description lang="en">Synonym for NOW()</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="datetime"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="localtimestamp" class="datetime" inversion="4.0.6">
+    <display>LOCALTIMESTAMP</display>
+    <display>LOCALTIMESTAMP()</display>
+    <description lang="en">Synonym for NOW()</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="datetime"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="makedate" class="datetime" inversion="4.1.1">
+    <display>MAKEDATE()</display>
+    <description lang="en">Create a date from the year and day of year</description>
+    <arguments>
+      <format><![CDATA[<replaceable>year</replaceable>,<replaceable>dayofyear</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Year</argument>
+      <argument seq="2" name="expr" type="numeric">Day of year</argument>
+    </arguments>
+    <return type="date"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="maketime" class="datetime" inversion="4.1.1">
+    <display>MAKETIME</display>
+    <description lang="en">MAKETIME()</description>
+    <arguments>
+      <format><![CDATA[<replaceable>hour</replaceable>,
+        <replaceable>minute</replaceable>,<replaceable>second</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Hour</argument>
+      <argument seq="2" name="expr" type="numeric">Minute</argument>
+      <argument seq="3" name="expr" type="numeric">Second</argument>
+    </arguments>
+    <return type="time"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="microsecond" class="datetime" inversion="4.1.1">
+    <display>MICROSECOND()</display>
+    <description lang="en">Return the microseconds from argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="datetime"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="minute" class="datetime">
+    <display>MINUTE()</display>
+    <description lang="en">Return the minute from the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>time</replaceable>]]></format>
+      <argument seq="1" name="expr" type="datetime"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="month" class="datetime">
+    <display>MONTH()</display>
+    <description lang="en">Return the month from the date passed</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="monthname" class="datetime" inversion="4.1.21">
+    <display>MONTHNAME()</display>
+    <description lang="en">Return the name of the month</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="now" class="datetime">
+    <display>NOW()</display>
+    <description lang="en">Return the current date and time</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="datetime"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="period-add" class="datetime">
+    <display>PERIOD_ADD()</display>
+    <description lang="en">Add a period to a year-month</description>
+    <arguments>
+      <format><![CDATA[<replaceable>P</replaceable>,<replaceable>N</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Format period YYMM or YYYYMM</argument>
+      <argument seq="2" name="expr" type="numeric">Number of months</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="period-diff" class="datetime">
+    <display>PERIOD_DIFF()</display>
+    <description lang="en">Return the number of months between periods</description>
+    <arguments>
+      <format><![CDATA[<replaceable>P1</replaceable>,<replaceable>P2</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Format period YYMM or YYYYMM</argument>
+      <argument seq="2" name="expr" type="numeric">Format period YYMM or YYYYMM</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="quarter" class="datetime">
+    <display>QUARTER()</display>
+    <description lang="en">Return the quarter from a date argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="second" class="datetime">
+    <display>SECOND()</display>
+    <description lang="en">Return the second (0-59)</description>
+    <arguments>
+      <format><![CDATA[<replaceable>time</replaceable>]]></format>
+      <argument seq="1" name="expr" type="datetime"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="sec-to-time" class="datetime">
+    <display>SEC_TO_TIME()</display>
+    <description lang="en">Converts seconds to 'HH:MM:SS' format</description>
+    <arguments>
+      <format><![CDATA[<replaceable>seconds</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="time"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="str-to-date" class="datetime" inversion="4.1.1">
+    <display>STR_TO_DATE()</display>
+    <description lang="en">Convert a string to a date</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>format</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="string">Format string</argument>
+    </arguments>
+    <return type="date"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="subdate" class="datetime">
+    <display>SUBDATE()</display>
+    <description lang="en">When invoked with three arguments a synonym for DATE_SUB()</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>,INTERVAL
+          <replaceable>expr</replaceable>
+          <replaceable>unit</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+      <argument seq="2" name="expr" type="numeric"></argument>
+      <argument seq="3" name="expr" type="string">Unit of time</argument>
+    </arguments>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>,<replaceable>days</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+      <argument seq="2" name="expr" type="numeric">Number of days</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="subtime" class="datetime" inversion="4.1.1">
+    <display>SUBTIME()</display>
+    <description lang="en">Subtract times</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr1</replaceable>,<replaceable>expr2</replaceable>]]></format>
+      <argument seq="1" name="expr" type="datetime"></argument>
+      <argument seq="2" name="expr" type="datetime"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="sysdate" class="datetime">
+    <display>SYSDATE()</display>
+    <description lang="en">Return the time at which the function executes</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="time" class="datetime" inversion="4.1.1">
+    <display>TIME()</display>
+    <description lang="en">Extract the time portion of the expression passed</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="datetime">Date</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="timediff" class="datetime" inversion="4.1.1">
+    <display>TIMEDIFF()</display>
+    <description lang="en">Subtract time</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr1</replaceable>,<replaceable>expr2</replaceable>]]></format>
+      <argument seq="1" name="expr" type="datetime">Properly formatted string</argument>
+      <argument seq="2" name="expr" type="datetime">Properly formatted string</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="timestamp" class="datetime" inversion="4.1.1">
+    <display>TIMESTAMP()</display>
+    <description lang="en">With a single argument, this function returns the date or
+      datetime expression. With two arguments, the sum of the arguments</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr1</replaceable>,<replaceable>expr2</replaceable>]]></format>
+      <argument seq="1" name="expr" type="datetime"></argument>
+      <argument seq="2" name="expr" type="datetime"></argument>
+    </arguments>
+    <arguments>
+      <format><![CDATA[<replaceable>expr1</replaceable>,<replaceable>expr2</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="datetime"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="timestampadd" class="datetime" inversion="5.0.0">
+    <display>TIMESTAMPADD()</display>
+    <description lang="en">Add an interval to a datetime expression</description>
+    <arguments>
+      <format><![CDATA[<replaceable>unit</replaceable>,
+        <replaceable>interval</replaceable>,<replaceable>datetime_expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Time unit</argument>
+      <argument seq="2" name="expr" type="numeric">Number of units</argument>
+      <argument seq="3" name="expr" type="datetime"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="timestampdiff" class="datetime" inversion="5.0.0">
+    <display>TIMESTAMPDIFF()</display>
+    <description lang="en">Subtract an interval from a datetime expression</description>
+    <arguments>
+      <format><![CDATA[<replaceable>unit</replaceable>,<replaceable>datetime_expr1</replaceable>,
+        <replaceable>datetime_expr2</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Time unit</argument>
+      <argument seq="2" name="expr" type="date">Date subtrahend</argument>
+      <argument seq="3" name="expr" type="date">Date minuend</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="time-format" class="datetime">
+    <display>TIME_FORMAT()</display>
+    <description lang="en">Format as time</description>
+    <arguments>
+      <format><![CDATA[<replaceable>time</replaceable>,<replaceable>format</replaceable>]]></format>
+      <argument seq="1" name="expr" type="time"></argument>
+      <argument seq="2" name="expr" type="string">Properly formatted string</argument>
+    </arguments>
+    <return type="time"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="time-to-sec" class="datetime">
+    <display>TIME_TO_SEC()</display>
+    <description lang="en">Return the argument converted to seconds</description>
+    <arguments>
+      <format><![CDATA[<replaceable>time</replaceable>]]></format>
+      <argument seq="1" name="expr" type="datetime"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="to-days" class="datetime">
+    <display>TO_DAYS()</display>
+    <description lang="en">Return the date argument converted to days</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="unix-timestamp" class="datetime">
+    <display>UNIX_TIMESTAMP()</display>
+    <description lang="en">Return a UNIX timestamp</description>
+    <arguments>
+      <format><![CDATA[[<replaceable>date</replaceable>]]]></format>
+      <argument seq="1" name="expr" type="datetime"></argument>
+    </arguments>
+    <return type="datetime"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="utc-date" class="datetime" inversion="4.1.1">
+    <display>UTC_DATE()</display>
+    <description lang="en">Return the current UTC date</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="date"/>
+    <error type="sql"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="utc-time" class="datetime" inversion="4.1.1">
+    <display>UTC_TIME()</display>
+    <description lang="en">Return the current UTC time</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="time"/>
+    <error type="sql"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="utc-timestamp" class="datetime" inversion="4.1.1">
+    <display>UTC_TIMESTAMP()</display>
+    <description lang="en">Return the current UTC date and time</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="datetime"/>
+    <error type="sql"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="week" class="datetime">
+    <display>WEEK()</display>
+    <description lang="en">Return the week number</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>[,<replaceable>mode</replaceable>]]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+      <argument seq="2" name="expr" type="numeric">Week start indicator</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="weekday" class="datetime">
+    <display>WEEKDAY()</display>
+    <description lang="en">Return the weekday index</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+      
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="weekofyear" class="datetime" inversion="4.1.1">
+    <display>WEEKOFYEAR()</display>
+    <description lang="en">Return the calendar week of the date (1-53)</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="year" class="datetime">
+    <display>YEAR()</display>
+    <description lang="en">Return the year</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>]]></format>
+      <argument seq="1" name="expr" type="date"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="yearweek" class="datetime">
+    <display>YEARWEEK()</display>
+    <description lang="en">Return the year and week</description>
+    <arguments>
+      <format><![CDATA[<replaceable>date</replaceable>,[<replaceable>mode</replaceable>]]]></format>
+      <argument seq="1" name="expr" type="string">Properly formatted string</argument>
+      <argument seq="2" name="expr" type="numeric">Week start indicator</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="updatexml" inversion="5.1.5" class="xml">
+    <display>UpdateXML()</display>
+    <description lang="en">Return replaced XML fragment</description>
+    <arguments>
+      <format><![CDATA[<replaceable>xml_target</replaceable>,
+          <replaceable>xpath_expr</replaceable>,
+          <replaceable>new_xml</replaceable>)]]></format>
+      <argument seq="1" name="expr" type="string">XML Target</argument>
+      <argument seq="2" name="expr" type="string">XPath</argument>
+      <argument seq="3" name="expr" type="string">New XML</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="bit-count" class="other-bit">
+    <display>BIT_COUNT()</display>
+    <description lang="en">Return the number of bits that are set</description>
+    <arguments>
+    <format><![CDATA[<replaceable>N</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="aes-encrypt" class="other-encryption">
+    <display>AES_ENCRYPT()</display>
+    <description lang="en">Encrypt using AES</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>key_str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">To be encrypted</argument>
+      <argument seq="2" name="expr" type="string">Key</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="aes-decrypt" xrefto="function_aes-encrypt" class="other-encryption">
+    <display>AES_DECRYPT()</display>
+    <description lang="en">Decrypt using AES</description>
+    <arguments>
+      <format><![CDATA[<replaceable>crypt_str</replaceable>,<replaceable>key_str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">To be decrypted</argument>
+      <argument seq="2" name="expr" type="string">Key</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="compress" class="other-encryption" inversion="4.1.1">
+    <display>COMPRESS()</display>
+    <description lang="en">Return result as a binary string</description>
+    <arguments>
+      <format><![CDATA[<replaceable>string_to_compress</replaceable]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="decode" class="other-encryption">
+    <display>DECODE()</display>
+    <description lang="en">Decodes a string encrypted using ENCODE()</description>
+    <arguments>
+      <format><![CDATA[<replaceable>crypt_str</replaceable>,<replaceable>pass_str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">String to be decoded</argument>
+      <argument seq="2" name="expr" type="string">Password string</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="encode" class="other-encryption">
+    <display>ENCODE()</display>
+    <description lang="en">Encode a string</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>pass_str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">String to be encoded</argument>
+      <argument seq="2" name="expr" type="string">Password string</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="des-decrypt" class="other-encryption">
+    <display>DES_DECRYPT()</display>
+    <description lang="en">Decrypt a string</description>
+    <arguments>
+      <format><![CDATA[<replaceable>crypt_str</replaceable>[,<replaceable>key_str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Encrypted string</argument>
+      <argument seq="2" name="expr" type="string">Key string</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="des-encrypt" class="other-encryption">
+    <display>DES_ENCRYPT()</display>
+    <description lang="en">Decrypt a string</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>[,
+        {<replaceable>key_num</replaceable>|<replaceable>key_str</replaceable>}]]]></format>
+      <argument seq="1" name="expr" type="string">String to be encrypted</argument>
+      <argument seq="2" name="expr" type="numeric">Key number for encryption</argument>
+      <argument seq="3" name="expr" type="string">String used for encryption</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="encrypt" class="other-encryption">
+    <display>ENCRYPT()</display>
+    <description lang="en">Encrypt a string</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>[,<replaceable>salt</replaceable>]]]></format>
+      <argument seq="1" name="expr" type="string">String to be encrypted</argument>
+      <argument seq="2" name="expr" type="mixed">Key</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="md5" class="other-encryption">
+    <display>MD5()</display>
+    <description lang="en">Calculate MD5 checksum</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="old-password" class="other-encryption" inversion="4.1">
+    <display>OLD_PASSWORD()</display>
+    <description lang="en">Return the value of the
+      old (pre-4.1) implementation of PASSWORD</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="password" class="other-encryption">
+    <display>PASSWORD()</display>
+    <description lang="en">Calculate and return a password string</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="sha1" class="other-encryption">
+    <display>SHA1()</display>
+    <display>SHA()</display>
+    <description lang="en">Calculate an SHA-1 160-bit checksum</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="uncompress" class="other-encryption" inversion="4.1.1">
+    <display>UNCOMPRESS()</display>
+    <description lang="en">Uncompress a string compressed</description>
+    <arguments>
+      <format><![CDATA[<replaceable>string_to_uncompress</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="uncompressed-length" class="other-encryption" inversion="4.1.1">
+    <display>UNCOMPRESSED_LENGTH()</display>
+    <description lang="en">Return the length of a string before compression</description>
+    <arguments>
+      <format><![CDATA[<replaceable>compressed_string</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="benchmark" class="other-information">
+    <display>BENCHMARK()</display>
+    <description lang="en">Repeatedly execute an expression</description>
+    <arguments>
+      <format><![CDATA[<replaceable>count</replaceable>,<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Number of times</argument>
+      <argument seq="2" name="expr" type="string">Expression to be executed</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="charset" class="other-information" inversion="4.1.0">
+    <display>CHARSET()</display>
+    <description lang="en">Return the character set of the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="coercibility" class="other-information" inversion="4.1.1">
+    <display>COERCIBILITY()</display>
+    <description lang="en">Return the collation coercibility value of the string
+      argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="collation" class="other-information" inversion="4.1.0">
+    <display>COLLATION()</display>
+    <description lang="en">Return the collation of the string argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="connection-id" class="other-information">
+    <display>CONNECTION_ID()</display>
+    <description lang="en">Return the connection ID (thread ID) 
+      for the connection</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="current-user" class="other-information">
+    <display>CURRENT_USER()</display>
+    <display>CURRENT_USER</display>
+    <description lang="en">Return the username and hostname combination</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="database" class="other-information">
+    <display>DATABASE()</display>
+    <description lang="en">Return the default (current) database name</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="found-rows" class="other-information">
+    <display>FOUND_ROWS()</display>
+    <description lang="en">For a SELECT with a LIMIT clause, the
+      number of rows that would be returned were there no LIMIT clause</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="last-insert-id" class="other-information">
+    <display>LAST_INSERT_ID()</display>
+    <description lang="en">Value of the AUTOINCREMENT column 
+      for the last INSERT</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="row-count" class="other-information" inversion="5.0.1">
+    <display>ROW_COUNT()</display>
+    <description lang="en">The number of rows
+      updated</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="schema" class="other-information" inversion="5.0.2">
+    <display>SCHEMA()</display>
+    <description lang="en">A synonym for DATABASE()</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="session-user" class="other-information">
+    <display>SESSION_USER()</display>
+    <description lang="en">Synonym for USER()</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="system-user" class="other-information">
+    <display>SYSTEM_USER()</display>
+    <description lang="en">Synonym for USER()</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="user" class="other-information">
+    <display>USER()</display>
+    <description lang="en">Return the current username and hostname</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+ 
+  <opfunction type="function" id="default" class="other-misc">
+    <display>DEFAULT()</display>
+    <description lang="en">Return the default value for a table column</description>
+    <arguments>
+      <format><![CDATA[<replaceable>col_name</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Column Name</argument>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="format" class="string">
+    <display>FORMAT()</display>
+    <description lang="en">Return a number formatted to specified number of decimal places</description>
+    <arguments>
+      <format><![CDATA[<replaceable>X</replaceable>,<replaceable>D</replaceable>]]></format>
+      <argument seq="1" name="expr" type="number"></argument>
+      <argument seq="1" name="expr" type="number">Number of decimal places</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="get-lock" class="other-misc">
+    <display>GET_LOCK()</display>
+    <description lang="en">Get a named lock</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>timeout</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Lock name</argument>
+      <argument seq="2" name="expr" type="numeric">Seconds</argument>
+    </arguments>
+    <return type="bool"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="inet-aton" class="other-misc">
+    <display>INET_ATON()</display>
+    <description lang="en">Return the numeric value of an IP address</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">IP address</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="inet-ntoa" class="other-misc">
+    <display>INET_NTOA()</display>
+    <description lang="en">Return the IP address from a numeric value</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+    
+  <opfunction type="function" id="is-free-lock" class="other-misc">
+    <display>IS_FREE_LOCK()</display>
+    <description lang="en">Checks whether the named lock
+      is free</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Lock name</argument>
+    </arguments>
+    <return type="bool"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="is-used-lock" class="other-misc" inversion="4.1.0">
+    <display>IS_USED_LOCK()</display>
+    <description lang="en">Checks whether the named lock is in use.
+      Return connection identifier if true.</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Lock name</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="master-pos-wait" class="other-misc">
+    <display>MASTER_POS_WAIT()</display>
+    <description lang="en">Block until the slave has read and
+      applied all updates up to the specified position</description>
+    <arguments>
+      <format><![CDATA[<replaceable>log_name</replaceable>,<replaceable>log_pos</replaceable>
+        [,<replaceable>timeout</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Log name</argument>
+      <argument seq="2" name="expr" type="numeric">Position</argument>
+      <argument seq="3" name="expr" type="numeric">Timeout</argument>
+    </arguments>
+    <!--is this right? numeric but NULL also a legitimate return-->
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="name-const" class="other-misc" inversion="5.0.12">
+    <display>NAME_CONST()</display>
+    <description lang="en">Causes the column to have the given name</description>
+    <arguments>
+      <format><![CDATA[<replaceable>name</replaceable>,<replaceable>value</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Column Name</argument>
+      <argument seq="2" name="expr" type="mixed">Value</argument>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="release-lock" class="other-misc">
+    <display>RELEASE_LOCK()</display>
+    <description lang="en">Releases the named lock</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Lock name</argument>
+    </arguments>
+    <return type="bool"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="sleep" class="other-misc" inversion="5.0.12">
+    <display>SLEEP()</display>
+    <description lang="en">Sleep for a number of seconds</description>
+    <arguments>
+      <format><![CDATA[<replaceable>duration</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Seconds</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="uuid" class="other-misc" inversion="4.1.2">
+    <display>UUID()</display>
+    <description lang="en">Return a Universal Unique Identifier (UUID)</description>
+    <arguments>
+      <format></format>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="values" class="other-misc" inversion="4.1.1">
+    <display>VALUES()</display>
+    <description lang="en">Defines the values to be used during an INSERT</description>
+    <arguments>
+      <format><![CDATA[<replaceable>col_name</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Column name</argument>
+    </arguments>
+    <!--proper return type?-->
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="avg" class="aggregate">
+    <display>AVG()</display>
+    <description lang="en">Return the average value of the argument</description>
+    <arguments>
+      <format><![CDATA[[DISTINCT]
+            <replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="bit-and" class="aggregate">
+    <display>BIT_AND()</display>
+    <description lang="en">Return bitwise and</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="bit-or" class="aggregate">
+    <display>BIT_OR()</display>
+    <description lang="en">Return bitwise or</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="bit-xor" class="aggregate" inversion="4.1.1">
+    <display>BIT_XOR()</display>
+    <description lang="en">Return bitwise xor</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="count" class="aggregate">
+    <display>COUNT()</display>
+    <description lang="en">Return a count of the number of rows returned</description>
+    <arguments>
+      <format><![CDATA[[*]]]></format>
+      <argument seq="1" name="expr" type="mixed">Non-NULL rows returned</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="count-distinct" class="aggregate">
+    <display>COUNT(DISTINCT)</display>
+    <description lang="en">Return the count of a number of different values</description>
+    <arguments>
+      <format><![CDATA[DISTINCT
+            <replaceable>expr</replaceable>,[<replaceable>expr</replaceable>...]]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+      <argument seq="2" name="expr" type="mixed"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="group-concat" class="aggregate" inversion="4.1">
+    <display>GROUP_CONCAT()</display>
+    <description lang="en">Return a concatenated string</description>
+    <arguments>
+      <format><![CDATA[[DISTINCT] <replaceable>expr</replaceable>
+        [,<replaceable>expr</replaceable> ...]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+      <argument seq="2" name="expr" type="mixed"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="min" class="aggregate">
+    <display>MIN()</display>
+    <description lang="en">Return the minimum value</description>
+    <arguments>
+      <format><![CDATA[[DISTINCT]
+            <replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="max" xrefto="function_min" class="aggregate">
+    <!--no id in the manual-->
+    <display>MAX()</display>
+    <description lang="en">Return the maximum value</description>
+    <arguments>
+      <format><![CDATA[[DISTINCT]
+            <replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="std" class="aggregate">
+    <display>STD()</display>
+    <display>STDDEV()</display>
+    <description lang="en">Return the population standard deviation</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="stddev-pop" class="aggregate" inversion="5.0.3">
+    <display>STDDEV_POP()</display>
+    <description lang="en">Return the population standard deviation</description>
+    <arguments>
+      <format><![CDATA[replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="stddev-samp" class="aggregate" inversion="5.0.3">
+    <display>STDDEV_SAMP()</display>
+    <description lang="en">Return the sample standard deviation</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="sum" class="aggregate">
+    <display>SUM()</display>
+    <description lang="en">Return the sum</description>
+    <arguments>
+      <format><![CDATA[[DISTINCT]
+            <replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="var-pop" class="aggregate" inversion="5.0.3">
+    <display>VAR_POP()</display>
+    <description lang="en">Return the population standard variance</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="var-samp" class="aggregate" inversion="5.0.3">
+    <display>VAR_SAMP()</display>
+    <description lang="en">Return the sample variance</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="variance" class="aggregate" inversion="4.1">
+    <!-- inversion="5.0.3" as well -->
+    <display>VARIANCE()</display>
+    <description lang="en">Return the population standard variance</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="if" class="flow-control">
+    <display>IF()</display>
+    <description lang="en">If/else construct</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr1</replaceable>,<replaceable>expr2</replaceable>,<replaceable>expr3</replaceable>]]></format>
+      <argument seq="1" name="expr" type="mixed">Test</argument>
+      <argument seq="2" name="expr" type="mixed">True return value</argument>
+      <argument seq="3" name="expr" type="mixed">False return value</argument>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="ifnull" class="flow-control">
+    <display>IFNULL()</display>
+    <description lang="en">Null if/else construct</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr1</replaceable>,<replaceable>expr2</replaceable>]]></format>
+      <argument seq="1" name="expr" type="mixed">Returned if expr1 is not null</argument>
+      <argument seq="2" name="expr" type="mixed">Returned if expr1 is null</argument>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="nullif" class="flow-control">
+    <display>NULLIF()</display>
+    <description lang="en">Return NULL if expr1 = expr2</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr1</replaceable>,<replaceable>expr2</replaceable>]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+      <argument seq="2" name="expr" type="mixed">Returned if expr1 != expr2</argument>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="ascii" class="string">
+    <display>ASCII()</display>
+    <description lang="en">Return numeric value of left-most character</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="bin" class="string">
+    <display>BIN()</display>
+    <description lang="en">Return a string representation of the argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>N</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="bit-length" class="string">
+    <display>BIT_LENGTH()</display>
+    <description lang="en">Return length of argument in bits</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="char" class="string">
+    <display>CHAR()</display>
+    <description lang="en">Return the character for each integer passed</description>
+    <arguments>
+      <format><![CDATA[<replaceable>N</replaceable>,... [USING
+          <replaceable>charset_name</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+      <argument seq="2" name="expr" type="string">Character set name</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="char-length" class="string">
+    <display>CHAR_LENGTH()</display>
+    <description lang="en">Return number of characters in argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="character-length" class="string">
+    <display>CHARACTER_LENGTH()</display>
+    <description lang="en">A synonym for CHAR_LENGTH()</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="concat" class="string">
+    <display>CONCAT()</display>
+    <description lang="en">Return concatenated string</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str1</replaceable>,
+        <replaceable>str2</replaceable>,...]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="concat-ws" class="string">
+    <display>CONCAT_WS()</display>
+    <description lang="en">Return concatenate with
+      separator</description>
+    <arguments>
+      <format><![CDATA[<replaceable>separator</replaceable>,
+        <replaceable>str1</replaceable>,<replaceable>str2</replaceable>,...]]></format>
+      <argument seq="1" name="expr" type="string">Separator</argument>
+      <argument seq="2" name="expr" type="string"></argument>
+      <argument seq="3" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="conv" class="string">
+    <display>CONV()</display>
+    <description lang="en">Convert numbers between different number bases</description>
+    <arguments>
+      <format><![CDATA[<replaceable>N</replaceable>,<replaceable>from_base</replaceable>,
+        <replaceable>to_base</replaceable>]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+      <argument seq="2" name="expr" type="numeric">From base</argument>
+      <argument seq="3" name="expr" type="numeric">To base</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="elt" class="string">
+    <display>ELT()</display>
+    <description lang="en">Return string at index number</description>
+    <arguments>
+      <format><![CDATA[<replaceable>N</replaceable>,<replaceable>str1</replaceable>,
+      <replaceable>str2</replaceable>,<replaceable>str3</replaceable>,...]]></format>
+      <argument seq="1" name="expr" type="numeric">One-based index number</argument>
+      <argument seq="2" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="export-set" class="string">
+    <display>EXPORT_SET()</display>
+    <description lang="en">Return a string such that for every bit set in the value
+      bits, you get an on string and for every unset bit, you get an off string</description>
+    <arguments>
+      <format><![CDATA[<replaceable>bits</replaceable>,<replaceable>on</replaceable>,<replaceable>off</replaceable>
+        [,<replaceable>separator</replaceable>[,<replaceable>number_of_bits</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric">Bit value</argument>
+      <argument seq="2" name="expr" type="string">On indicator</argument>
+      <argument seq="3" name="expr" type="string">Off indicator</argument>
+      <argument seq="4" name="expr" type="string">Separator</argument>
+      <argument seq="5" name="expr" type="numeric">Number of bits</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="field" class="string">
+    <display>FIELD()</display>
+    <description lang="en">Return the index (position) of the first argument
+      in the subsequent arguments</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,
+        <replaceable>str3</replaceable>,...]]></format>
+      <argument seq="1" name="expr" type="string">Value to search for</argument>
+      <argument seq="2" name="expr" type="string">To be searched</argument>
+      <argument seq="3" name="expr" type="string">To be searched</argument>
+      <argument seq="4" name="expr" type="string">To be searched</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="find-in-set" class="string">
+    <display>FIND_IN_SET()</display>
+    <description lang="en">Return the index position of
+      the first argument within the second argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>strlist</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="string">Comma separated strings</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="hex" class="string">
+    <display>HEX()</display>
+    <description lang="en">Return a string representation of a hex value</description>
+    <arguments>
+      <format><![CDATA[<replaceable>N_or_S</replaceable>]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="insert" class="string">
+    <display>INSERT()</display>
+    <description lang="en">Insert a substring at the specified position up to
+    the specified number of characters</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>pos</replaceable>,<replaceable>len</replaceable>,<replaceable>newstr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Original string</argument>
+      <argument seq="2" name="expr" type="numeric">Insert at</argument>
+      <argument seq="3" name="expr" type="numeric">Number of characters</argument>
+      <argument seq="4" name="expr" type="string">Inserted string</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  
+  <opfunction type="function" id="instr" class="string">
+    <display>INSTR()</display>
+    <description lang="en">Return the index of the first occurrence of substring</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>substr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">To be searched</argument>
+      <argument seq="2" name="expr" type="string">Value to search for</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="lcase" class="string">
+    <display>LCASE()</display>
+    <description lang="en">Synonym for LOWER() </description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  
+  <opfunction type="function" id="left" class="string">
+    <display>LEFT()</display>
+    <description lang="en">Return the leftmost number of characters as specified</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>len</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="numeric">Number of characters</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="length" class="string">
+    <display>LENGTH()</display>
+    <description lang="en">Return the length of a string in bytes</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="load-file" class="string">
+    <display>LOAD_FILE()</display>
+    <description lang="en">Load the named file</description>
+    <arguments>
+      <format><![CDATA[<replaceable>file_name</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">File name</argument>
+    </arguments>
+    <return type="undefined"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="locate" class="string">
+    <display>LOCATE()</display>
+    <description lang="en">Return the position of the first occurrence
+      of substring</description>
+    <arguments>
+      <format><![CDATA[<replaceable>substr</replaceable>,<replaceable>str</replaceable>,
+        <replaceable>pos</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Value to search for</argument>
+      <argument seq="2" name="expr" type="string">To be searched</argument>
+      <argument seq="3" name="expr" type="numeric">Start position</argument>
+    </arguments>
+    <arguments>
+      <format><![CDATA[<replaceable>substr</replaceable>,<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Value to search for</argument>
+      <argument seq="2" name="expr" type="string">To be searched</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="lower" class="string">
+    <display>LOWER()</display>
+    <description lang="en">Return the argument in lowercase </description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="lpad" class="string">
+    <display>LPAD()</display>
+    <description lang="en">Return the string argument, left-padded
+      with the specified string</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>len</replaceable>,
+        <replaceable>padstr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="numeric">Number of characters to pad</argument>
+      <argument seq="3" name="expr" type="string">Pad string</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="ltrim" class="string">
+    <display>LTRIM()</display>
+    <description lang="en">Remove leading spaces</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="make-set" class="string">
+    <display>MAKE_SET()</display>
+    <description lang="en">Return a set of comma-separated strings
+      that have the corresponding bit in bits set</description>
+    <arguments>
+      <format><![CDATA[<replaceable>bits</replaceable>,
+        <replaceable>str1</replaceable>,<replaceable>str2</replaceable>,...]]></format>
+      <argument seq="1" name="expr" type="numeric">Bits set</argument>
+      <argument seq="2" name="expr" type="string"></argument>
+      <argument seq="3" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="mid" class="string">
+    <display>MID()</display>
+    <description lang="en">Return a substring starting from the specified position</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>pos</replaceable>,
+        <replaceable>len</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="numeric">Start position</argument>
+      <argument seq="3" name="expr" type="numeric">Number of characters</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="oct" class="string">
+    <display>OCT()</display>
+    <description lang="en">Return a string representation of the octal argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>N</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="octet-length" class="string">
+    <display>OCTET_LENGTH()</display>
+    <description lang="en">A synonym for LENGTH()</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="ord" class="string">
+    <display>ORD()</display>
+    <description lang="en">If the leftmost character of the
+      argument is a multi-byte character,
+      returns the code for that character</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="position" class="string">
+    <display>POSITION()</display>
+    <description lang="en">A synonym for LOCATE()</description>
+    <arguments>
+      <format><![CDATA[<replaceable>substr</replaceable> IN
+          <replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Value to search for</argument>
+      <argument seq="2" name="expr" type="string">To be searched</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="quote" class="string">
+    <display>QUOTE()</display>
+    <description lang="en">Escape the argument for use in an SQL statement</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="repeat" class="string">
+    <display>REPEAT()</display>
+    <description lang="en">Repeat a string the specified number of times</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>count</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="string">Number of times</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="replace" class="string">
+    <display>REPLACE()</display>
+    <description lang="en">Replace occurrences of a specified string</description>
+    <arguments>
+      <format><![CDATA[REPLACE(<replaceable>str</replaceable>,<replaceable>from_str</replaceable>,
+        <replaceable>to_str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="string">From string</argument>
+      <argument seq="3" name="expr" type="string">To string</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="reverse" class="string">
+    <display>REVERSE()</display>
+    <description lang="en">Reverse the characters in a string</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="right" class="string">
+    <display>RIGHT()</display>
+    <description lang="en">Return the specified rightmost number of characters</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>len</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="numeric">Number of characters</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="rpad" class="string">
+    <display>RPAD()</display>
+    <description lang="en">Append string the specified number of times</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,
+        <replaceable>len</replaceable>,<replaceable>padstr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="numeric">Number of characters</argument>
+      <argument seq="3" name="expr" type="string">Pad string</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="rtrim" class="string">
+    <display>RTRIM()</display>
+    <description lang="en">Remove trailing spaces</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="soundex" class="string">
+    <display>SOUNDEX()</display>
+    <description lang="en">Return a soundex string</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="space" class="string">
+    <display>SPACE()</display>
+    <description lang="en">Return a string of the specified number of spaces</description>
+    <arguments>
+      <format><![CDATA[SPACE(<replaceable>N</replaceable>]]></format>
+      <argument seq="1" name="expr" type="numeric"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="substring" class="string">
+    <display>SUBSTRING()</display>
+    <display>SUBSTR()</display>
+    <description lang="en">Return the substring as specified</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>pos</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="numeric">Start position</argument>
+    </arguments>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable> FROM
+          <replaceable>pos</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="string">Start position</argument>
+    </arguments>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,
+        <replaceable>pos</replaceable>,<replaceable>len</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="string">Start position</argument>
+      <argument seq="3" name="expr" type="string">Number of characters</argument>
+    </arguments>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable> FROM
+          <replaceable>pos</replaceable> FOR
+          <replaceable>len</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="numeric">Start position</argument>
+      <argument seq="3" name="expr" type="numeric">Number of characters</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="substring-index" class="string">
+    <display>SUBSTRING_INDEX()</display>
+    <description lang="en">Return a substring from a
+      string before the specified number of occurrences of the delimiter</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>,<replaceable>delim</replaceable>,
+        <replaceable>count</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="numberic">Delimiter</argument>
+      <argument seq="3" name="expr" type="numeric">Count</argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="trim" class="string">
+    <display>TRIM()</display>
+    <description lang="en">Remove leading and trailing spaces</description>
+    <arguments>
+      <format><![CDATA[[{BOTH | LEADING | TRAILING}
+          [<replaceable>remstr</replaceable>] FROM]
+          <replaceable>str</replaceable>)</literal>]]></format>
+      <argument seq="1" name="expr" type="string">Character to be removed</argument>
+      <argument seq="2" name="expr" type="string"></argument>
+    </arguments>
+    <arguments>
+      <format><![CDATA[[<replaceable>remstr</replaceable> FROM]
+        <replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string">Character to be removed</argument>
+      <argument seq="2" name="expr" type="string"></argument>
+    </arguments>
+    
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="ucase" class="string">
+    <display>UCASE()</display>
+    <description lang="en">Synonym for UPPER()</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="unhex" class="string" inversion="4.1.2">
+    <display>UNHEX()</display>
+    <description lang="en">Convert each pair of hexadecimal digits
+      to a character</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="upper" class="string">
+    <display>UPPER()</display>
+    <description lang="en">Convert to uppercase</description>
+    <arguments>
+      <format><![CDATA[<replaceable>str</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+    </arguments>
+    <return type="string"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="strcmp" class="string">
+    <display>STRCMP()</display>
+    <description lang="en">Compare two strings</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr1</replaceable>,<replaceable>expr2</replaceable>]]></format>
+      <argument seq="1" name="expr" type="string"></argument>
+      <argument seq="2" name="expr" type="string"></argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="greatest" class="comparison">
+    <display>GREATEST()</display>
+    <description lang="en">Return the largest argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,...]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+      <argument seq="2" name="expr" type="mixed"></argument>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="isnull" class="comparison">
+    <display>ISNULL()</display>
+    <description lang="en">Test whether the argument is NULL</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+      
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="interval" class="comparison">
+    <display>INTERVAL()</display>
+    <description lang="en">Return the index of the argument 
+      that is less than the first argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>N</replaceable>,<replaceable>N1</replaceable>,
+        <replaceable>N2</replaceable>,<replaceable>N3</replaceable>,...]]></format>
+      <argument seq="1" name="expr" type="numeric">Value to find</argument>
+      <argument seq="2" name="expr" type="numeric">Value searched</argument>
+      <argument seq="3" name="expr" type="numeric">Value searched</argument>
+    </arguments>
+    <return type="numeric"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="least" class="comparison">
+    <display>LEAST()</display>
+    <description lang="en">Return the smallest argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>value1</replaceable>,
+        <replaceable>value2</replaceable>,...]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+      <argument seq="2" name="expr" type="mixed"></argument>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="coalesce" class="comparison">
+    <display>COALESCE()</display>
+    <description lang="en">Return the first non-NULL argument</description>
+    <arguments>
+      <format><![CDATA[<replaceable>value1</replaceable>,
+        <replaceable>value2</replaceable>,...]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+      <argument seq="2" name="expr" type="mixed"></argument>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="between" class="comparison">
+    <display>BETWEEN ... AND ... </display>
+    <description lang="en">Check whether a value is within a range of values</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable> BETWEEN
+            <replaceable>min</replaceable> AND
+            <replaceable>max</replaceable>]]></format>
+      <argument seq="1" name="expr" type="mixed">Minimum</argument>
+      <argument seq="2" name="expr" type="mixed">Maximum</argument>
+    </arguments>
+    <return type="bool"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="not-between" class="comparison">
+    <display>NOT BETWEEN ... AND ...</display>
+    <description lang="en">Check whether a value is not within a range of values</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable>NOT BETWEEN
+            <replaceable>min</replaceable> AND
+            <replaceable>max</replaceable>]]></format>
+      <argument seq="1" name="expr" type="mixed">Minimum</argument>
+      <argument seq="2" name="expr" type="mixed">Maximum</argument>
+    </arguments>
+    <return type="bool"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="in" class="comparison">
+    <display>IN</display>
+    <description lang="en">Check whether a value is within a set of values</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable> IN
+            (<replaceable>value</replaceable>,...)]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+      <argument seq="2" name="expr" type="mixed"></argument>
+    </arguments>
+    <return type="bool"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="not-in" class="comparison">
+    <display>NOT IN</display>
+    <description lang="en">Check whether a value is not within a set of values</description>
+    <arguments>
+      <format><![CDATA[<replaceable>expr</replaceable> NOT IN
+            (<replaceable>value</replaceable>,...)]]></format>
+      <argument seq="1" name="expr" type="mixed"></argument>
+      <argument seq="2" name="expr" type="mixed"></argument>
+    </arguments>
+    <return type="bool"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="function" id="procedure-analyse" class="metadata" xrefto="procedure-analyse">
+    <display>PROCEDURE ANALYSE()</display>
+    <description lang="en">Analyze the results of a query</description>
+    <arguments>
+      <format><![CDATA[<replaceable>max_elements</replaceable>,<replaceable>max_memory</replaceable>]]></format>
+      <argument seq="1" name="max_elements" type="numeric"></argument>
+      <argument seq="2" name="max_memory" type="numeric"></argument>
+    </arguments>
+    <return type="mixed"/>
+    <error type="return"/>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+ <opfunction type="operator" id="is-null" class="string-comparison" >
+    <display>IS NULL</display>
+    <description lang="en">NULL value test</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  <opfunction type="operator" id="equal" class="string-comparison">
+    <display>=</display>
+    <description lang="en">Equal operator</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  <opfunction type="operator" id="not" class="logical">
+    <display>NOT</display>
+    <display>!</display>
+    <description lang="en">Negates value</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="equal-to" class="string-comparison">
+    <display>&lt;=&gt;</display>
+    <description lang="en">NULL-safe equal to operator</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="not-equal" class="string-comparison" >
+    <display>!=</display>
+    <display>&lt;&gt;</display>
+    <description lang="en">Not equal operator</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="less-than-or-equal" class="string-comparison">
+    <display>&lt;=</display>
+    <description lang="en">Less than or equal operator</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="less-than" class="string-comparison" >
+    <display>&lt;</display>
+    <description lang="en">Less than operator</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="greater-than-or-equal" class="string-comparison">
+    <display>&gt;=</display>
+    <description lang="en">Greater than or equal operator</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="greater-than" class="string-comparison" >
+    <display>&gt;</display>
+    <description lang="en">Greater than operator</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="is" class="string-comparison">
+    <display>IS</display>
+    <description lang="en">Test a value against a boolean</description>
+    <versions>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+
+ <opfunction type="operator" id="and" class="logical">
+    <display>AND</display>
+   <display>&amp;&amp;</display>
+    <description lang="en">Logical AND</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="or" class="logical">
+    <display>||</display>
+    <display>OR</display>
+    <description lang="en">Logical OR</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="xor" class="logical">
+    <display>XOR</display>
+    <description lang="en">Logical XOR</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="like" class="string-comparison">
+    <display>LIKE</display>
+    <description lang="en">Simple pattern matching</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="not-like" class="string-comparison" >
+    <display>NOT LIKE</display>
+    <description lang="en">Negation of simple pattern matching</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="not-regexp" class="string-regexp" >
+    <display>NOT REGEXP</display>
+    <description lang="en">Negation of REGEXP</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="regexp" class="string-regexp" >
+    <display>REGEXP</display>
+    <description lang="en">Pattern matching using regular expressions</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="rlike" xrefto="operator_regexp" class="string-regexp" >
+    <!--synonym, no id in the manual-->
+    <display>RLIKE</display>
+    <description lang="en">Synonym for REGEXP</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="plus" class="numeric-arithmetic" >
+    <display>+</display>
+    <description lang="en">Addition operator</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="minus" class="numeric-arithmetic" >
+    <display>-</display>
+    <description lang="en">Minus operator</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="unary-minus" class="numeric-arithmetic" >
+    <display>-</display>
+    <description lang="en">Change the sign of the argument</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="times" class="numeric-arithmetic" >
+    <display>*</display>
+    <description lang="en">Times operator</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="by" class="numeric-arithmetic" >
+    <display>/</display>
+    <description lang="en">Division operator</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="div" class="numeric-arithmetic" inversion="4.1.0">
+    <display>DIV</display>
+    <description lang="en">Integer division</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="operator-mod" xrefto="operator_mod" class="numeric-arithmetic" >
+    <display>%</display>
+    <description lang="en">Modulo operator</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="binary" class="cast" >
+    <display>BINARY</display>
+    <description lang="en">Cast a string to a binary string</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="bitwise-or" class="other-bit" >
+    <display>|</display>
+    <description lang="en">Bitwise OR</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="bitwise-and" class="other-bit" >
+    <display>&amp;</display>
+    <description lang="en">Bitwise AND</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="bitwise-xor" class="other-bit" >
+    <display>^</display>
+    <description lang="en">Bitwise XOR</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="left-shift" class="other-bit" >
+    <display>&lt;&lt;</display>
+    <description lang="en">Left shift</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="right-shift" class="other-bit">
+    <display>&gt;&gt;</display>
+    <description lang="en">Right shift</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="tilde" class="other-bit">
+    <display>~</display>
+    <description lang="en">Invert bits</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+  
+  <opfunction type="operator" id="sounds-like" class="string-comparison" inversion="4.1.0">
+    <display>SOUNDS LIKE</display>
+    <description lang="en">Compare sounds</description>
+    <versions>
+      <manual version="4.1"/>
+      <manual version="5.0"/>
+      <manual version="5.1"/>
+      <manual version="5.2"/>
+    </versions>
+  </opfunction>
+</opfunctions>
\ No newline at end of file


Modified: trunk/tools/dyndocs-opsfuncs-generate.pl
===================================================================
--- trunk/tools/dyndocs-opsfuncs-generate.pl	2007-08-07 08:06:56 UTC (rev 7358)
+++ trunk/tools/dyndocs-opsfuncs-generate.pl	2007-08-07 09:51:49 UTC (rev 7359)
Changed blocks: 1, Lines Added: 8, Lines Deleted: 4; 1580 bytes

@@ -502,17 +502,21 @@
 {
     my ($self, $element) = @_;
 
-    if ($element->{Name} eq 'operator' || 
-        $element->{Name} eq 'function')
+    if ($element->{Name} eq 'opfunction')
     {
+        if (!exists($element->{Attributes}->{type}))
+        {
+            die "PANIC: Entry $element->{Attributes}->{id} must have a type specification\n";
+        }
+
         $self->{currentid} = sprintf('%s_%s',
-                                     $element->{Name},
+                                     $element->{Attributes}->{type},
                                      $element->{Attributes}->{id});
         $self->{tabledata}->{$self->{currentid}} = {_sortbase => lc(sprintf('%s_%s',
                                                                             $element->{Attributes}->{id},
                                                                             $element->{Name})),
                                                     id => $self->{currentid},
-                                                    type => $element->{Name},
+                                                    type => $element->{Attributes}->{type},
                                                     xrefto => $self->{currentid},
                                                     class => $element->{Attributes}->{class}};
 


Thread
svn commit - mysqldoc@docsrva: r7359 - in trunk: dynamic-docs/opsfunctions toolsmcbrown7 Aug