Author: paul
Date: 2005-10-23 04:40:02 +0200 (Sun, 23 Oct 2005)
New Revision: 147
Log:
r3008@frost: paul | 2005-10-22 21:39:32 -0500
Document bugfixes:
Bug#12371
Bug#12595
Bug#13146
Bug#13233
Bug#14153
Bug#14223
Modified:
trunk/
trunk/refman-4.1/sql-syntax.xml
trunk/refman-5.0/functions.xml
trunk/refman-5.0/stored-procedures.xml
trunk/refman-5.1/functions.xml
trunk/refman-5.1/stored-procedures.xml
trunk/refman-common/news-4.1.xml
trunk/refman-common/news-5.0.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:3007
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:145
+ b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:3008
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:145
Modified: trunk/refman-4.1/sql-syntax.xml
===================================================================
--- trunk/refman-4.1/sql-syntax.xml 2005-10-23 02:39:48 UTC (rev 146)
+++ trunk/refman-4.1/sql-syntax.xml 2005-10-23 02:40:02 UTC (rev 147)
@@ -4500,9 +4500,8 @@
<listitem>
<para>
<literal>INSERT DELAYED</literal> works only with
- <literal>ISAM</literal>, <literal>MyISAM</literal>,
- (beginning with MySQL 4.1) <literal>MEMORY</literal>, and
- <literal>ARCHIVE</literal> tables. For
+ <literal>ISAM</literal>, <literal>MyISAM</literal>, and
+ (beginning with MySQL 4.1) <literal>MEMORY</literal>. For
<literal>MyISAM</literal> tables, if there are no free
blocks in the middle of the data file, concurrent
<literal>SELECT</literal> and <literal>INSERT</literal>
@@ -7312,11 +7311,11 @@
</para>
<para>
- Also, if a column to be sorted is aliased, the
- <literal>ORDER BY</literal> clause must refer to the alias,
- not the column name. The first of the following statments will
- work, but the second will fail with an <literal>Unknown column
- 'a' in 'order clause'</literal> error:
+ Also, if a column to be sorted is aliased, the <literal>ORDER
+ BY</literal> clause must refer to the alias, not the column
+ name. The first of the following statments will work, but the
+ second will fail with an <literal>Unknown column 'a' in 'order
+ clause'</literal> error:
</para>
<programlisting>
Modified: trunk/refman-5.0/functions.xml
===================================================================
--- trunk/refman-5.0/functions.xml 2005-10-23 02:39:48 UTC (rev 146)
+++ trunk/refman-5.0/functions.xml 2005-10-23 02:40:02 UTC (rev 147)
@@ -315,8 +315,8 @@
<para>
Note that when you are comparing a string column with a number,
- MySQL cannot use an index on the column to look up the
- value quickly. If <replaceable>str_col</replaceable> is an indexed
+ MySQL cannot use an index on the column to look up the value
+ quickly. If <replaceable>str_col</replaceable> is an indexed
string column, the index cannot be used when performing the
lookup in the following statement:
</para>
@@ -399,8 +399,8 @@
<literal>NULL</literal>-safe equal. This operator performs
an equality comparison like the <literal>=</literal>
operator, but returns <literal>1</literal> rather than
- <literal>NULL</literal>
- if both operands are <literal>NULL</literal>, and <literal>0</literal> rather
+ <literal>NULL</literal> if both operands are
+ <literal>NULL</literal>, and <literal>0</literal> rather
than <literal>NULL</literal> if one operand
is<literal>NULL</literal>.
</para>
@@ -1317,7 +1317,7 @@
<para>
Note that the precedence of the <literal>NOT</literal>
- operator changed in MySQL 5.0.2. See
+ operator changed in MySQL 5.0.2. See
<xref linkend="operator-precedence"/>.
</para>
</listitem>
@@ -1352,8 +1352,8 @@
Logical AND. Evaluates to <literal>1</literal> if all
operands are non-zero and not <literal>NULL</literal>, to
<literal>0</literal> if one or more operands are
- <literal>0</literal>, otherwise
- <literal>NULL</literal> is returned.
+ <literal>0</literal>, otherwise <literal>NULL</literal> is
+ returned.
</para>
<remark role="help-description-end"/>
@@ -1612,14 +1612,14 @@
If only one of <replaceable>expr2</replaceable> or
<replaceable>expr3</replaceable> is explicitly
<literal>NULL</literal>, the result type of the
- <literal>IF()</literal> function is the type of
- the non-<literal>NULL</literal> expression.
+ <literal>IF()</literal> function is the type of the
+ non-<literal>NULL</literal> expression.
</para>
<para>
- <replaceable>expr1</replaceable> is evaluated as an integer value,
- which means that if you are testing floating-point or string
- values, you should do so using a comparison operation.
+ <replaceable>expr1</replaceable> is evaluated as an integer
+ value, which means that if you are testing floating-point or
+ string values, you should do so using a comparison operation.
</para>
<programlisting>
@@ -1633,8 +1633,8 @@
In the first case shown, <literal>IF(0.1)</literal> returns
<literal>0</literal> because <literal>0.1</literal> is
converted to an integer value, resulting in a test of
- <literal>IF(0)</literal>. This may not be what you
- expect. In the second case, the comparison tests the original
+ <literal>IF(0)</literal>. This may not be what you expect. In
+ the second case, the comparison tests the original
floating-point value to see whether it is non-zero. The result
of the comparison is used as an integer.
</para>
@@ -1655,16 +1655,18 @@
<entry><emphasis role="bold">Return Value</emphasis></entry>
</row>
<row>
- <entry><replaceable>expr2</replaceable> or <replaceable>expr3</replaceable> returns a string</entry>
+ <entry><replaceable>expr2</replaceable> or <replaceable>expr3</replaceable>
+ returns a string</entry>
<entry>string</entry>
</row>
<row>
- <entry><replaceable>expr2</replaceable> or <replaceable>expr3</replaceable> returns a
- floating-point value</entry>
+ <entry><replaceable>expr2</replaceable> or <replaceable>expr3</replaceable>
+ returns a floating-point value</entry>
<entry>floating-point</entry>
</row>
<row>
- <entry><replaceable>expr2</replaceable> or <replaceable>expr3</replaceable> returns an integer</entry>
+ <entry><replaceable>expr2</replaceable> or <replaceable>expr3</replaceable>
+ returns an integer</entry>
<entry>integer</entry>
</row>
</tbody>
@@ -1672,7 +1674,8 @@
</informaltable>
<para>
- If <replaceable>expr2</replaceable> and <replaceable>expr3</replaceable> are both strings, the result
+ If <replaceable>expr2</replaceable> and
+ <replaceable>expr3</replaceable> are both strings, the result
is case sensitive if either string is case sensitive.
</para>
</listitem>
@@ -1845,9 +1848,10 @@
<para>
Returns the numeric value of the leftmost character of the
string <replaceable>str</replaceable>. Returns
- <literal>0</literal> if <replaceable>str</replaceable> is the empty string. Returns
- <literal>NULL</literal> if <replaceable>str</replaceable> is
- <literal>NULL</literal>. <literal>ASCII()</literal> works for characters with numeric
+ <literal>0</literal> if <replaceable>str</replaceable> is the
+ empty string. Returns <literal>NULL</literal> if
+ <replaceable>str</replaceable> is <literal>NULL</literal>.
+ <literal>ASCII()</literal> works for characters with numeric
values from <literal>0</literal> to <literal>255</literal>.
</para>
@@ -1961,11 +1965,10 @@
<remark role="help-description-begin"/>
<para>
- <literal>CHAR()</literal> interprets each
- argument <replaceable>N</replaceable> as an integer and
- returns a string consisting of the characters given by the
- code values of those integers. <literal>NULL</literal> values
- are skipped.
+ <literal>CHAR()</literal> interprets each argument
+ <replaceable>N</replaceable> as an integer and returns a
+ string consisting of the characters given by the code values
+ of those integers. <literal>NULL</literal> values are skipped.
</para>
<remark role="help-description-end"/>
@@ -2028,8 +2031,8 @@
<para>
Before MySQL 5.0.15, <literal>CHAR()</literal> returns a
string in the connection character set and the
- <literal>USING</literal> clause is unavailable. In addition, each
- argument is interpreted modulo 256, so
+ <literal>USING</literal> clause is unavailable. In addition,
+ each argument is interpreted modulo 256, so
<literal>CHAR(256)</literal> and
<literal>CHAR(256*256)</literal> both are equivalent to
<literal>CHAR(0)</literal>.
@@ -2471,8 +2474,8 @@
type <literal>SET</literal>, the
<literal>FIND_IN_SET()</literal> function is optimized to use
bit arithmetic. Returns <literal>0</literal> if
- <replaceable>str</replaceable> is
- not in <replaceable>strlist</replaceable> or if
+ <replaceable>str</replaceable> is not in
+ <replaceable>strlist</replaceable> or if
<replaceable>strlist</replaceable> is the empty string.
Returns <literal>NULL</literal> if either argument is
<literal>NULL</literal>. This function does not work properly
@@ -2541,11 +2544,11 @@
</para>
<para>
- If <replaceable>N_OR_S</replaceable>
- is a string, returns a hexadecimal string representation of
+ If <replaceable>N_OR_S</replaceable> is a string, returns a
+ hexadecimal string representation of
<replaceable>N_OR_S</replaceable> where each character in
- <replaceable>N_OR_S</replaceable> is converted to
- two hexadecimal digits.
+ <replaceable>N_OR_S</replaceable> is converted to two
+ hexadecimal digits.
</para>
<remark role="help-description-end"/>
@@ -2792,11 +2795,8 @@
SET <replaceable>blob_column</replaceable>=LOAD_FILE('/tmp/picture')
WHERE id=1;
</programlisting>
+ </listitem>
-
-
-</listitem>
-
<listitem>
<remark role="help-topic" condition="LOCATE"/>
@@ -3190,8 +3190,9 @@
single quote (‘<literal>'</literal>’), backslash
(‘<literal>\</literal>’), ASCII
<literal>NUL</literal>, and Control-Z preceded by a backslash.
- If the argument is <literal>NULL</literal>, the return value is the word
- <quote>NULL</quote> without surrounding single quotes.
+ If the argument is <literal>NULL</literal>, the return value
+ is the word <quote>NULL</quote> without surrounding single
+ quotes.
</para>
<remark role="help-description-end"/>
@@ -3927,7 +3928,8 @@
<para>
If you want to convert a number to a string explicitly, use the
- <literal>CAST()</literal> or <literal>CONCAT()</literal> function:
+ <literal>CAST()</literal> or <literal>CONCAT()</literal>
+ function:
</para>
<programlisting>
@@ -4087,6 +4089,13 @@
</programlisting>
<para>
+ The escape sequence should be empty or one character long.
+ As of MySQL 5.0.16, if the
+ <literal>NO_BACKSLASH_ESCAPES</literal> SQL mode is enabled,
+ the sequence cannot be empty.
+ </para>
+
+ <para>
The following two statements illustrate that string
comparisons are not case sensitive unless one of the
operands is a binary string:
@@ -4246,9 +4255,10 @@
</para>
<para>
- <emphasis role="bold">Note</emphasis>: Because MySQL uses the C escape syntax in strings (for
- example, ‘<literal>\n</literal>’ to represent
- the newline character), you must double any
+ <emphasis role="bold">Note</emphasis>: Because MySQL uses
+ the C escape syntax in strings (for example,
+ ‘<literal>\n</literal>’ to represent the newline
+ character), you must double any
‘<literal>\</literal>’ that you use in your
<literal>REGEXP</literal> strings.
</para>
@@ -4484,8 +4494,9 @@
<emphasis role="bold">Note</emphasis>: If this operator is
used with a <literal>BIGINT</literal>, the return value is
also a <literal>BIGINT</literal>. This means that you should
- avoid using <literal>−</literal> on integers that may have the
- value of <literal>−2<superscript>63</superscript></literal>.
+ avoid using <literal>−</literal> on integers that may
+ have the value of
+ <literal>−2<superscript>63</superscript></literal>.
</para>
</listitem>
@@ -4792,8 +4803,9 @@
<remark role="help-description-begin"/>
<para>
- Returns the arc tangent of <replaceable>X</replaceable>, that
- is, the value whose tangent is <replaceable>X</replaceable>.
+ Returns the arc tangent of <replaceable>X</replaceable>,
+ that is, the value whose tangent is
+ <replaceable>X</replaceable>.
</para>
<remark role="help-description-end"/>
@@ -5520,9 +5532,9 @@
<para>
Returns a random floating-point value in the range from
<literal>0</literal> to <literal>1.0</literal>. If an
- integer argument <replaceable>N</replaceable> is
- specified, it is used as the seed value, which produces a
- repeatable sequence.
+ integer argument <replaceable>N</replaceable> is specified,
+ it is used as the seed value, which produces a repeatable
+ sequence.
</para>
<remark role="help-description-end"/>
@@ -5548,8 +5560,8 @@
You cannot use a column with <literal>RAND()</literal>
values in an <literal>ORDER BY</literal> clause, because
<literal>ORDER BY</literal> would evaluate the column
- multiple times. However, you can retrieve rows in
- random order like this:
+ multiple times. However, you can retrieve rows in random
+ order like this:
</para>
<programlisting>
@@ -5630,9 +5642,9 @@
<para>
The return type is the same type as that of the first
- argument (assuming that it is integer, double, or decimal). This
- means that for an integer argument, the result is an integer
- (no decimals).
+ argument (assuming that it is integer, double, or decimal).
+ This means that for an integer argument, the result is an
+ integer (no decimals).
</para>
<para>
@@ -5864,10 +5876,10 @@
to <replaceable>D</replaceable> decimals. If
<replaceable>D</replaceable> is <literal>0</literal>, the
result has no decimal point or fractional part.
- <replaceable>D</replaceable> can
- be negative in order to truncate (make zero)
- <replaceable>D</replaceable> digits left of the decimal
- point of the value <replaceable>X</replaceable>.
+ <replaceable>D</replaceable> can be negative in order to
+ truncate (make zero) <replaceable>D</replaceable> digits
+ left of the decimal point of the value
+ <replaceable>X</replaceable>.
</para>
<remark role="help-description-end"/>
@@ -6413,7 +6425,8 @@
<para>
The <literal>INTERVAL</literal> keyword and the
- <replaceable>type</replaceable> specifier are not case sensitive.
+ <replaceable>type</replaceable> specifier are not case
+ sensitive.
</para>
<para>
@@ -6589,11 +6602,11 @@
hours, minutes, and seconds parts. If you specify a value like
<literal>'1:10'</literal>, MySQL assumes that the days and
hours parts are missing and the value represents minutes and
- seconds. In other words, <literal>'1:10' DAY_SECOND</literal> is interpreted in
- such a way that it is equivalent to <literal>'1:10'
- MINUTE_SECOND</literal>. This is analogous to the way that
- MySQL interprets <literal>TIME</literal> values as
- representing elapsed time rather than as a time of day.
+ seconds. In other words, <literal>'1:10' DAY_SECOND</literal>
+ is interpreted in such a way that it is equivalent to
+ <literal>'1:10' MINUTE_SECOND</literal>. This is analogous to
+ the way that MySQL interprets <literal>TIME</literal> values
+ as representing elapsed time rather than as a time of day.
</para>
<para>
@@ -6602,7 +6615,7 @@
a datetime value:
</para>
- <programlisting>
+<programlisting>
mysql> <userinput>SELECT DATE_ADD('1999-01-01', INTERVAL 1 DAY);</userinput>
-> '1999-01-02'
mysql> <userinput>SELECT DATE_ADD('1999-01-01', INTERVAL 1 HOUR);</userinput>
@@ -8768,8 +8781,8 @@
the year that contains the first day of the week for the given
date, you should use <literal>0</literal>,
<literal>2</literal>, <literal>5</literal>, or
- <literal>7</literal> as the optional <replaceable>mode</replaceable>
- argument.
+ <literal>7</literal> as the optional
+ <replaceable>mode</replaceable> argument.
</para>
<programlisting>
@@ -8949,8 +8962,8 @@
</indexterm>
<para>
- MySQL uses what is known as a <firstterm>proleptic
- Gregorian calendar</firstterm>.
+ MySQL uses what is known as a <firstterm>proleptic Gregorian
+ calendar</firstterm>.
</para>
<para>
@@ -9270,8 +9283,8 @@
The <literal>FULLTEXT</literal> parser determines where words
start and end by looking for certain delimiters, for example
<literal>' '</literal> (the space character), <literal>,</literal>
- (the comma), and <literal>.</literal> (the period). If words
- are not separated by delimiters (as in, for example, Chinese), the
+ (the comma), and <literal>.</literal> (the period). If words are
+ not separated by delimiters (as in, for example, Chinese), the
<literal>FULLTEXT</literal> parser cannot determine where a word
begins or ends. To be able to add words or other indexed terms in
such languages to a <literal>FULLTEXT</literal> index, you must
@@ -9471,8 +9484,8 @@
<para>
A leading plus sign indicates that this word
- <emphasis>must</emphasis> be present in each row
- that is returned.
+ <emphasis>must</emphasis> be present in each row that is
+ returned.
</para>
</listitem>
@@ -9483,8 +9496,8 @@
<para>
A leading minus sign indicates that this word must
- <emphasis>not</emphasis> be present in any of
- the rows that are returned.
+ <emphasis>not</emphasis> be present in any of the rows that
+ are returned.
</para>
</listitem>
@@ -9549,9 +9562,8 @@
<para>
The asterisk serves as the truncation operator. Unlike the
- other operators, it should be
- <emphasis>appended</emphasis> to the word to be
- affected.
+ other operators, it should be <emphasis>appended</emphasis>
+ to the word to be affected.
</para>
</listitem>
@@ -10742,8 +10754,9 @@
variable. This variable also can be changed while the server
is running, but you must have the <literal>SUPER</literal>
privilege to do so. No rebuilding of indexes is necessary in
- this case. See <xref linkend="server-system-variables"/>, which
- describes the rules governing how to set this variable.
+ this case. See <xref linkend="server-system-variables"/>,
+ which describes the rules governing how to set this
+ variable.
</para>
</listitem>
@@ -11521,10 +11534,11 @@
<para>
These functions allow encryption and decryption of data
using the official AES (Advanced Encryption Standard)
- algorithm, previously known as <quote>Rijndael</quote>. Encoding with a
- 128-bit key length is used, but you can extend it up to 256
- bits by modifying the source. We chose 128 bits because it
- is much faster and it is secure enough for most purposes.
+ algorithm, previously known as <quote>Rijndael</quote>.
+ Encoding with a 128-bit key length is used, but you can
+ extend it up to 256 bits by modifying the source. We chose
+ 128 bits because it is much faster and it is secure enough
+ for most purposes.
</para>
<para>
@@ -11678,8 +11692,8 @@
<para>
If the <replaceable>crypt_str</replaceable> argument does
- not appear to be an encrypted string, MySQL returns the given
- <replaceable>crypt_str</replaceable>.
+ not appear to be an encrypted string, MySQL returns the
+ given <replaceable>crypt_str</replaceable>.
</para>
<remark role="help-description-end"/>
@@ -11774,7 +11788,7 @@
Each line in the DES key file has the following format:
</para>
-<remark role="help-example" condition="DES_ENCRYPT"/>
+ <remark role="help-example" condition="DES_ENCRYPT"/>
<programlisting>
<replaceable>key_num</replaceable> <replaceable>des_key_str</replaceable>
@@ -12646,17 +12660,17 @@
</programlisting>
<para>
- The ID that was generated is maintained in the server
- on a <emphasis>per-connection basis</emphasis>. This means
- that the value which the function returns to a given client
- is the first <literal>AUTO_INCREMENT</literal> value
- generated for most recent statement affecting an
+ The ID that was generated is maintained in the server on a
+ <emphasis>per-connection basis</emphasis>. This means that
+ the value which the function returns to a given client is
+ the first <literal>AUTO_INCREMENT</literal> value generated
+ for most recent statement affecting an
<literal>AUTO_INCREMENT</literal> column by that client.
This value cannot be affected by other clients, even if they
- generate <literal>AUTO_INCREMENT</literal> values of
- their own. This behavior ensures that you can retrieve your
- own ID without concern for the activity of other clients,
- and without the need for locks or transactions.
+ generate <literal>AUTO_INCREMENT</literal> values of their
+ own. This behavior ensures that you can retrieve your own ID
+ without concern for the activity of other clients, and
+ without the need for locks or transactions.
</para>
<para>
@@ -12670,10 +12684,10 @@
<para>
<emphasis role="bold">Important</emphasis>: If you insert
mutliple rows using a single <literal>INSERT</literal>
- statement, <literal>LAST_INSERT_ID()</literal> returns the
+ statement, <literal>LAST_INSERT_ID()</literal> returns the
value generated for the <emphasis>first</emphasis> inserted
row <emphasis>only</emphasis>. The reason for this is to
- make it possible to reproduce easily the same
+ make it possible to reproduce easily the same
<literal>INSERT</literal> statement against some other
server.
</para>
@@ -12734,7 +12748,7 @@
+------------------+
1 row in set (0.00 sec)
</programlisting>
-
+
<para>
Although the second query inserted 3 new rows into
<literal>t</literal>, the ID generated for the first of
@@ -12746,7 +12760,8 @@
If you use <literal>INSERT IGNORE</literal> and the record
is ignored, the <literal>AUTO_INCREMENT</literal> counter is
not incremented and <literal>LAST_INSERT_ID()</literal>
- returns <literal>0</literal>, which reflects that no record was inserted.
+ returns <literal>0</literal>, which reflects that no record
+ was inserted.
</para>
<para>
@@ -13448,9 +13463,9 @@
<replaceable>str</replaceable> that was obtained with
<literal>GET_LOCK()</literal>. Returns <literal>1</literal>
if the lock was released, <literal>0</literal> if the lock
- was not established by this thread (in which case the lock is not
- released), and <literal>NULL</literal> if the named lock
- did not exist. The lock does not exist if it was never
+ was not established by this thread (in which case the lock
+ is not released), and <literal>NULL</literal> if the named
+ lock did not exist. The lock does not exist if it was never
obtained by a call to <literal>GET_LOCK()</literal> or if it
has previously been released.
</para>
@@ -14075,8 +14090,8 @@
<literal>ENUM</literal> and <literal>SET</literal> columns
by their string value rather than by the string's relative
position in the set. This differs from how <literal>ORDER
- BY</literal> compares them. This is expected to be rectified in a
- future MySQL release.
+ BY</literal> compares them. This is expected to be rectified
+ in a future MySQL release.
</para>
</listitem>
Modified: trunk/refman-5.0/stored-procedures.xml
===================================================================
--- trunk/refman-5.0/stored-procedures.xml 2005-10-23 02:39:48 UTC (rev 146)
+++ trunk/refman-5.0/stored-procedures.xml 2005-10-23 02:40:02 UTC (rev 147)
@@ -261,7 +261,7 @@
| COMMENT '<replaceable>string</replaceable>'
<replaceable>routine_body</replaceable>:
- <replaceable>Valid SQL procedure statements or statements</replaceable>
+ <replaceable>Valid SQL procedure statement or statements</replaceable>
</programlisting>
<para>
@@ -319,6 +319,16 @@
</para>
<para>
+ The <replaceable>routine_body</replaceable> consists of valid
+ SQL procedure statements. Compound statement syntax can be used,
+ as described in <xref linkend="begin-end"/>. Compound statements
+ can contain declarations, loops, and other control structure
+ statements. The syntax for these statements is described later
+ in this chapter. See, for example, <xref linkend="declare"/> and
+ <xref linkend="flow-control-constructs"/>
+ </para>
+
+ <para>
The <literal>CREATE FUNCTION</literal> statement was used in
earlier versions of MySQL to support UDFs (User Defined
Functions). See <xref linkend="adding-functions"/>. UDFs
@@ -1814,13 +1824,13 @@
<remark role="todo">
[js] This section needs to be rewritten once row-based replication
- is implemented.
+ is implemented.
</remark>
<para>
- This section describes how MySQL ¤t-series; handles stored routines
- (procedures and functions) with respect to binary logging. This
- section also applies to triggers.
+ This section describes how MySQL ¤t-series; handles stored
+ routines (procedures and functions) with respect to binary
+ logging. This section also applies to triggers.
</para>
<para>
@@ -2184,8 +2194,8 @@
<para>
For this example, the <literal>CREATE PROCEDURE</literal> and
- <literal>CALL</literal> statements appear in the binary
- log, but the <literal>INSERT</literal> statement does not appear.
+ <literal>CALL</literal> statements appear in the binary log,
+ but the <literal>INSERT</literal> statement does not appear.
This corrects the problem that occurred before MySQL 5.0.6 in
which the <literal>CREATE PROCEDURE</literal> and
<literal>CALL</literal> statements were not logged and the
@@ -2231,7 +2241,8 @@
binary logging occurs at the SQL statement level. A future MySQL
release is expected to implement row-level binary logging, which
occurs at a more fine-grained level and specifies which changes to
- make to individual records as a result of executing SQL statements.
+ make to individual records as a result of executing SQL
+ statements.
</para>
</section>
Modified: trunk/refman-5.1/functions.xml
===================================================================
--- trunk/refman-5.1/functions.xml 2005-10-23 02:39:48 UTC (rev 146)
+++ trunk/refman-5.1/functions.xml 2005-10-23 02:40:02 UTC (rev 147)
@@ -4060,6 +4060,13 @@
</programlisting>
<para>
+ The escape sequence should be empty or one character long.
+ As of MySQL 5.1.2, if the
+ <literal>NO_BACKSLASH_ESCAPES</literal> SQL mode is enabled,
+ the sequence cannot be empty.
+ </para>
+
+ <para>
The following two statements illustrate that string
comparisons are not case sensitive unless one of the
operands is a binary string:
Modified: trunk/refman-5.1/stored-procedures.xml
===================================================================
--- trunk/refman-5.1/stored-procedures.xml 2005-10-23 02:39:48 UTC (rev 146)
+++ trunk/refman-5.1/stored-procedures.xml 2005-10-23 02:40:02 UTC (rev 147)
@@ -110,7 +110,7 @@
<para>
In MySQL ¤t-series;, the grant system takes stored routines
- into account as follows:
+ into account as follows:
</para>
<itemizedlist>
@@ -165,7 +165,7 @@
<para>
In MySQL ¤t-series;, a stored procedure or function is
associated with a particular database. This has several
- implications:
+ implications:
</para>
<itemizedlist>
@@ -253,7 +253,7 @@
| COMMENT '<replaceable>string</replaceable>'
<replaceable>routine_body</replaceable>:
- <replaceable>Valid SQL procedure statements or statements</replaceable>
+ <replaceable>Valid SQL procedure statement or statements</replaceable>
</programlisting>
<para>
@@ -311,6 +311,16 @@
</para>
<para>
+ The <replaceable>routine_body</replaceable> consists of valid
+ SQL procedure statements. Compound statement syntax can be used,
+ as described in <xref linkend="begin-end"/>. Compound statements
+ can contain declarations, loops, and other control structure
+ statements. The syntax for these statements is described later
+ in this chapter. See, for example, <xref linkend="declare"/> and
+ <xref linkend="flow-control-constructs"/>
+ </para>
+
+ <para>
The <literal>CREATE FUNCTION</literal> statement was used in
earlier versions of MySQL to support UDFs (User Defined
Functions). See <xref linkend="adding-functions"/>. UDFs
@@ -579,7 +589,7 @@
This statement is used to drop a stored procedure or function.
That is, the specified routine is removed from the server. In
MySQL ¤t-series;, you must have the <literal>ALTER
- ROUTINE</literal> privilege for the routine. This privilege is
+ ROUTINE</literal> privilege for the routine. This privilege is
granted automatically to the routine creator.
</para>
@@ -1529,7 +1539,7 @@
<section id="stored-procedure-replication-faq">
<title id="title-stored-procedure-replication-faq">&title-stored-procedure-replication-faq;</title>
-
+
<remark role="todo">
[js] This section needs to be rewritten - or possibly even cut
altogether - once row-based replication is implemented.
@@ -1792,16 +1802,16 @@
<section id="stored-procedure-logging">
<title id="title-stored-procedure-logging">&title-stored-procedure-logging;</title>
-
+
<remark role="todo">
[js] This section needs to be rewritten once row-based replication
- is implemented.
+ is implemented.
</remark>
<para>
- This section describes how MySQL ¤t-series; handles stored routines
- (procedures and functions) with respect to binary logging. This
- section also applies to triggers.
+ This section describes how MySQL ¤t-series; handles stored
+ routines (procedures and functions) with respect to binary
+ logging. This section also applies to triggers.
</para>
<para>
@@ -2140,9 +2150,8 @@
<para>
For this example, the <literal>CREATE PROCEDURE</literal> and
- <literal>CALL</literal> statements appear in the binary
- log, but the <literal>INSERT</literal> statement does not
- appear.
+ <literal>CALL</literal> statements appear in the binary log,
+ but the <literal>INSERT</literal> statement does not appear.
</para>
</listitem>
@@ -2184,7 +2193,8 @@
binary logging occurs at the SQL statement level. A future MySQL
release is expected to implement row-level binary logging, which
occurs at a more fine-grained level and specifies which changes to
- make to individual records as a result of executing SQL statements.
+ make to individual records as a result of executing SQL
+ statements.
</para>
</section>
Modified: trunk/refman-common/news-4.1.xml
===================================================================
--- trunk/refman-common/news-4.1.xml 2005-10-23 02:39:48 UTC (rev 146)
+++ trunk/refman-common/news-4.1.xml 2005-10-23 02:40:02 UTC (rev 147)
@@ -237,6 +237,15 @@
<listitem>
<para>
+ <literal>SELECT DISTINCT
+ CHAR(<replaceable>col_name</replaceable>)</literal> returned
+ incorrect results after <literal>SET NAMES utf8</literal>.
+ (Bug #13233)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
Character set conversion was not being done for
<literal>FIND_IN_SET()</literal>. (Bug #13751)
</para>
@@ -467,6 +476,15 @@
<listitem>
<para>
+ A prepared statement failed with <literal>Illegal mix of
+ collations</literal> if the client character set was
+ <literal>utf8</literal> and the statement used a table that
+ had a character set of <literal>latin1</literal>. (Bug #12371)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
If special characters such as <literal>'_'</literal> ,
<literal>'%'</literal>, or the escape character were included
within the prefix of a column index, <literal>LIKE</literal>
Modified: trunk/refman-common/news-5.0.xml
===================================================================
--- trunk/refman-common/news-5.0.xml 2005-10-23 02:39:48 UTC (rev 146)
+++ trunk/refman-common/news-5.0.xml 2005-10-23 02:40:02 UTC (rev 147)
@@ -199,6 +199,34 @@
<listitem>
<para>
+ For <literal>LIKE … ESCAPE</literal>, an escape
+ sequence longer than one character was accepted as valid. Now
+ the sequence must be empty or one character long. If the
+ <literal>NO_BACKSLASH_ESCAPES</literal> SQL mode is enabled,
+ the sequence must be one character long. (Bug #12595)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>SELECT DISTINCT
+ CHAR(<replaceable>col_name</replaceable>)</literal> returned
+ incorrect results after <literal>SET NAMES utf8</literal>.
+ (Bug #13233)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A prepared statement failed with <literal>Illegal mix of
+ collations</literal> if the client character set was
+ <literal>utf8</literal> and the statement used a table that
+ had a character set of <literal>latin1</literal>. (Bug #12371)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
Inserting a new row into an <literal>InnoDB</literal> table
could cause <literal>DATETIME</literal> values already stored
in the table to change. (Bug #13900)
@@ -490,6 +518,15 @@
<listitem>
<para>
+ <command>mysqldump --triggers</command> did not quote
+ identifiers properly if the <option>--compatible</option>
+ option was given, so the dump output could not be reloaded.
+ (Bug #13146)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
Character set conversion was not being done for
<literal>FIND_IN_SET()</literal>. (Bug #13751)
</para>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r147 - in trunk: . refman-4.1 refman-5.0 refman-5.1 refman-common | paul | 23 Oct |