Below is the list of changes that have just been committed into a local
mysqldoc repository of root. When root does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://www.mysql.com/doc/I/n/Installing_source_tree.html
ChangeSet
1.2866 05/06/23 16:01:07 Mike.Hillyer@stripped +10 -0
Documenting Bugs
refman/news.xml
1.26 05/06/23 16:01:06 Mike.Hillyer@stripped +358 -241
Bugs:
10151
11473
11064
11295
11385
11391
11387
10650
11055
refman/language-structure.xml
1.4 05/06/23 16:01:06 Mike.Hillyer@stripped +13 -7
Update table naming warning.
refman/functions.xml
1.4 05/06/23 16:01:06 Mike.Hillyer@stripped +25 -23
Update ISNULL() Doc
refman-5.0/news.xml
1.22 05/06/23 16:01:06 Mike.Hillyer@stripped +358 -241
Sync
refman-5.0/language-structure.xml
1.2 05/06/23 16:01:06 Mike.Hillyer@stripped +13 -7
Sync
refman-5.0/functions.xml
1.4 05/06/23 16:01:06 Mike.Hillyer@stripped +25 -23
Sync
refman-4.1/news.xml
1.22 05/06/23 16:01:05 Mike.Hillyer@stripped +358 -241
Sync
refman-4.1/language-structure.xml
1.2 05/06/23 16:01:05 Mike.Hillyer@stripped +13 -7
Sync
refman-4.1/functions.xml
1.4 05/06/23 16:01:05 Mike.Hillyer@stripped +25 -23
Sync
Docs/connector-net/changelog.xml
1.11 05/06/23 16:01:05 Mike.Hillyer@stripped +21 -0
Bug #11490
Bug #8382
Bug #8228
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: Mike.Hillyer
# Host: www.openwin.org
# Root: /home/mysqldoc/mysqldoc
--- 1.10/Docs/connector-net/changelog.xml 2005-06-22 10:12:42 -06:00
+++ 1.11/Docs/connector-net/changelog.xml 2005-06-23 16:01:05 -06:00
@@ -20,6 +20,11 @@
Connection.Database is not populated. (Bug #11450)
</para></listitem>
+ <listitem><para>
+ Certain malformed queries will trigger a "Connection must be valid
+ and open" error message. (Bug #11490)
+ </para></listitem>
+
</itemizedlist>
</section>
@@ -31,6 +36,22 @@
<title>Version 1.0.5</title>
<itemizedlist>
+
+ <listitem><para>
+ Certain malformed queries will trigger a "Connection must be valid
+ and open" error message. (Bug #11490)
+ </para></listitem>
+
+ <listitem><para>
+ Fixed a bug where the <literal>MySqlCommandBuilder</literal> class
+ could not handle queries that references tables in a database other
+ than the default database. (Bug #8382)
+ </para></listitem>
+
+ <listitem><para>
+ Fixed a bug where Connector/NET could not work properly with certain
+ regional settings. (WL#8228)
+ </para></listitem>
<listitem><para>
Fixed an exception when trying to use a stored procedure when
--- 1.3/refman-4.1/functions.xml 2005-06-20 02:25:46 -06:00
+++ 1.4/refman-4.1/functions.xml 2005-06-23 16:01:05 -06:00
@@ -309,7 +309,7 @@
<para>
The reason for this is that there are many different strings that
may convert to the value <literal>1</literal>:
- <literal>'1'</literal>, <literal>' 1'</literal>,
+ <literal>'1'</literal>, <literal>' 1'</literal>,
<literal>'1a'</literal>, ...
</para>
@@ -1028,6 +1028,7 @@
<literal>=</literal> is always false.
</para>
+ <para>The <literal>ISNULL()</literal> function shares some special
behaviors with the <literal>IS NULL</literal> comparison operator, see the
description of <literal>IS NULL</literal> at <xref
linkend="comparison-operators" />.</para>
<para>
<!-- description_for_help_topic INTERVAL -->
</para>
@@ -9435,27 +9436,28 @@
</programlisting>
<para>
- The MySQL <literal>FULLTEXT</literal> implementation regards any sequence
- of true word characters (letters, digits, and underscores) as a word.
- That sequence may also contain apostrophes (<literal>'</literal>),
- but not more than one in a row. This means that <literal>aaa'bbb</literal>
- is regarded as one word, but <literal>aaa''bbb</literal> is regarded as
two
- words. Apostrophes at the beginning or the end of a word are stripped by
- the <literal>FULLTEXT</literal> parser;
<literal>'aaa'bbb'</literal> would
- be parsed as <literal>aaa'bbb</literal>.
+ The MySQL <literal>FULLTEXT</literal> implementation regards any
+ sequence of true word characters (letters, digits, and underscores)
+ as a word. That sequence may also contain apostrophes
+ (<literal>'</literal>), but not more than one in a row. This means
+ that <literal>aaa'bbb</literal> is regarded as one word, but
+ <literal>aaa''bbb</literal> is regarded as two words. Apostrophes at
+ the beginning or the end of a word are stripped by the
+ <literal>FULLTEXT</literal> parser;
<literal>'aaa'bbb'</literal>
+ would be parsed as <literal>aaa'bbb</literal>.
</para>
<para>
- 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 aren't separated by
delimiters,
- like for example Chinese words, the <literal>FULLTEXT</literal> parser
- cannot determine where a word starts and where it ends. To be able to add
- words or other indexed terms in such languages to a
- <literal>FULLTEXT</literal> index, you'd have to preprocess them so that
- they are separated by some delimiter (for example,
- by <literal>''</literal>).
+ 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 aren't separated by
+ delimiters, like for example Chinese words, the
+ <literal>FULLTEXT</literal> parser cannot determine where a word
+ starts and where it ends. To be able to add words or other indexed
+ terms in such languages to a <literal>FULLTEXT</literal> index, you'd
+ have to preprocess them so that they are separated by some delimiter
+ (for example, by <literal>''</literal>).
</para>
<para>
@@ -9888,10 +9890,10 @@
<listitem><para>
Languages such as Chinese, Japanese, and so forth don't have word
- delimiters. You should be aware that the <literal>FULLTEXT</literal>
parser
- cannot determine where a word starts and where it ends in these languages.
- Implications and workarounds are described in
- <xref linkend="fulltext-search"/>.
+ delimiters. You should be aware that the
+ <literal>FULLTEXT</literal> parser cannot determine where a word
+ starts and where it ends in these languages. Implications and
+ workarounds are described in <xref linkend="fulltext-search"/>.
</para></listitem>
<listitem><para>
--- 1.1/refman-4.1/language-structure.xml 2005-06-16 13:35:23 -06:00
+++ 1.2/refman-4.1/language-structure.xml 2005-06-23 16:01:05 -06:00
@@ -987,11 +987,17 @@
</itemizedlist>
<para>
- It is recommended that you do not use names like
- <literal>1e</literal>, because an expression like
- <literal>1e+1</literal> is ambiguous. It might be interpreted as the
- expression <literal>1e + 1</literal> or as the number
- <literal>1e+1</literal>, depending on context.
+ It is recommended that you do not use names of the pattern
+
<literal><replaceable>X</replaceable>e<replaceable>X</replaceable></literal>,
+ such as <literal>1e</literal> or <literal>2e2</literal>,
because an
+ expression like <literal>1e+1</literal> is ambiguous. It might be
+ interpreted as the expression <literal>1e + 1</literal> or as the
+ number <literal>1e+1</literal>, depending on context.
+ </para>
+
+ <para>
+ Be careful when using <literal>MD5</literal> to produce table names,
+ as it can produce illegal tables names such as the ones listed above.
</para>
<section id="identifier-qualifiers">
@@ -1915,9 +1921,9 @@
</para></listitem>
<listitem><para>
- From a '<literal>-- </literal>' sequence to the end of the line.
+ From a '<literal>-- </literal>' sequence to the end of the line.
This style is supported as of MySQL 3.23.3. Note that the
- '<literal>-- </literal>' (double-dash) comment style requires the
+ '<literal>-- </literal>' (double-dash) comment style requires the
second dash to be followed by at least one space (or by a control
character such as a newline). This syntax differs slightly from
standard SQL comment syntax, as discussed in
--- 1.21/refman-4.1/news.xml 2005-06-23 07:50:27 -06:00
+++ 1.22/refman-4.1/news.xml 2005-06-23 16:01:05 -06:00
@@ -246,15 +246,20 @@
for prepared statements. (Bug #8367, Bug #9334)
</para></listitem>
- <listitem>
- <para>Where a <literal>GROUP BY</literal> query uses a grouping
- column from the query's <literal>SELECT</literal> clause, MySQL
- now issues a warning. This is because the SQL standard states that
- any grouping column must unambiguously reference a column of the
- table resulting from the query's <literal>FROM</literal> clause,
- and allowing columns from the <literal>SELECT</literal> clause to
- be used as grouping columns is a MySQL extension to the standard.</para>
- <para>By way of example, consider the following two tables:</para>
+ <listitem><para>
+ Where a <literal>GROUP BY</literal> query uses a grouping column
+ from the query's <literal>SELECT</literal> clause, MySQL now issues
+ a warning. This is because the SQL standard states that any
+ grouping column must unambiguously reference a column of the table
+ resulting from the query's <literal>FROM</literal> clause, and
+ allowing columns from the <literal>SELECT</literal> clause to be
+ used as grouping columns is a MySQL extension to the standard.
+ </para>
+
+ <para>
+ By way of example, consider the following two tables:
+ </para>
+
<programlisting>
CREATE TABLE users (
userid INT NOT NULL PRIMARY KEY,
@@ -262,35 +267,50 @@
usergroupid INT NOT NULL
);
</programlisting>
- <para>MySQL allows you to use the alias in this query:</para>
+
+ <para>
+ MySQL allows you to use the alias in this query:
+ </para>
+
<programlisting>
SELECT usergroupid AS id, COUNT(userid) AS number_of_users
FROM groups
GROUP BY id;
</programlisting>
- <para>However, the SQL standard requires the the column name be
- used, as shown here:</para>
+
+ <para>
+ However, the SQL standard requires the the column name be used, as
+ shown here:
+ </para>
+
<programlisting>
SELECT usergroupid AS id, COUNT(userid) AS number_of_users
FROM groups
GROUP BY userid;
</programlisting>
- <para>Queries such as the first of the two shown above will
- continue to be supported in MySQL; however, beginning with MySQL
- 5.0.8, using a column alias in this fashion will generate a
- warning. Note that in the event of a collision between column
- names and/or aliases used in joins, MySQL attempts to resolve the
- conflict by giving preference to columns arising from tables named
- in the query's <literal>FROM</literal> clause. (Bug
#11211)</para>
- </listitem>
- <listitem>
- <para>The granting or revocation of privileges on a stored routine
- is no longer performed when running the server with
- <literal>--skip-grant-tables</literal> even after the statement
- <literal>SET @@global.automatic_sp_privileges=1;</literal> has
- been executed. (Bug #9993)</para>
- </listitem>
+ <para>
+ Queries such as the first of the two shown above will continue to
+ be supported in MySQL; however, beginning with MySQL 5.0.8, using a
+ column alias in this fashion will generate a warning. Note that in
+ the event of a collision between column names and/or aliases used
+ in joins, MySQL attempts to resolve the conflict by giving
+ preference to columns arising from tables named in the query's
+ <literal>FROM</literal> clause. (Bug #11211)
+ </para></listitem>
+
+ <listitem><para>
+ The granting or revocation of privileges on a stored routine is no
+ longer performed when running the server with
+ <literal>--skip-grant-tables</literal> even after the statement
+ <literal>SET @@global.automatic_sp_privileges=1;</literal> has been
+ executed. (Bug #9993)
+ </para></listitem>
+
+ <listitem><para>
+ Added support for <literal>B'10'</literal> syntax for bit literal.
+ (Bug #10650)
+ </para></listitem>
</itemizedlist>
@@ -303,10 +323,10 @@
<!-- NOTE: No need to start every item with "Fixed..."; sufficient to
describe the issue that was fixed. Use past tense. -->
-
- <!-- TODO: Uncomment the following item when pushed to the 5.0
+<!-- TODO: Uncomment the following item when pushed to the 5.0
tree; move to 5.0.9 bugfixes if necessary. -->
- <!--
+
+<!--
<listitem>
<para>Queries of the form <literal>UPDATE ... (SELECT ... ) SET
...</literal> run on a replication master would crash all the
@@ -314,62 +334,112 @@
</listitem>
-->
- <listitem>
- <para><emphasis role="bold">Security fix</emphasis>: On Windows
- systems, a user with any of the following privileges
- <itemizedlist>
-
<listitem><para><literal>REFERENCES</literal></para></listitem>
- <listitem><para><literal>CREATE TEMPORARY
TABLES</literal></para></listitem>
- <listitem><para><literal>GRANT
OPTION</literal></para></listitem>
-
<listitem><para><literal>CREATE</literal></para></listitem>
-
<listitem><para><literal>SELECT</literal></para></listitem>
- </itemizedlist>
- on <literal>*.*</literal> could crash
<literal>mysqld</literal> by
- issuing a <literal>USE LPT1;</literal> or <literal>USE
- PRN;</literal> command. In addition, any of the commands
- <literal>USE NUL;</literal>, <literal>USE CON;</literal>,
- <literal>USE COM1;</literal>, or <literal>USE
AUX;</literal> would
- report success even though the database was not in fact changed.
- <emphasis role="bold">Note</emphasis>: Although this bug was
- thought to be fixed previously, it was later discovered to be
- present in the MySQL 5.0.7-beta release for Windows. (Bug #9148,
- <ulink
url="http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799">CAN-2005-0799</ulink></para>
- </listitem>
+ <listitem><para>
+ <literal>sql_data_access</literal> column of
+ <literal>routines</literal> table of
+ <literal>INFORMATION_SCHEMA</literal> was empty. (Bug #11055)
+ </para></listitem>
- <listitem>
- <para>An issue with index merging could cause suboptimal index
- merge plans to be chosen when searching by indexes created on
- <literal>DATE</literal> columns. The same issue caused the InnoDB
- storage engine to issue the warning <literal>using a partial-field
- key prefix in search</literal>. (Bug #8441)</para>
- </listitem>
+ <listitem><para>
+ A <literal>CAST()</literal> value could not be included in a
+ <literal>VIEW</literal>. (Bug #11387)
+ </para></listitem>
- <listitem>
- <para>The <literal>mysqlhotcopy</literal> script was not parsing
- the output of <literal>SHOW SLAVE STATUS</literal> correctly when
- called with the <literal>--record_log_pos</literal> option.
- (Bug #7967)</para>
- </listitem>
+ <listitem><para>
+ Server crashed when using <literal>GROUP BY</literal> on the result
+ of a <literal>DIV</literal> operation on a
+ <literal>DATETIME</literal> value. (Bug #11385)
+ </para></listitem>
- <listitem>
- <para><literal>SELECT * FROM
<replaceable>table</replaceable></literal>
- returned incorrect results when called from a stored procedure,
- where <replaceable>table</replaceable> had a primary key.
- (Bug #10136)</para>
- </listitem>
+ <listitem><para>
+ Possible <literal>NULL</literal> values in
<literal>BLOB</literal>
+ columns could crash server when <literal>BLOB</literal> used in
+ <literal>GROUP BY</literal>. (Bug #11295)
+ </para></listitem>
- <listitem>
- <para>When used in defining a view, the
<literal>TIME_FORMAT()</literal>
- function failed with calculated values, for example, when passed
- the value returned by <literal>SEC_TO_TIME()</literal>. (Bug #7521)
- </para>
- </listitem>
+ <listitem><para>
+ Fixed 64 bit compiler warning for packet length in replication.
+ (Bug #11064)
+ </para></listitem>
- <listitem>
- <para><literal>SELECT DISTINCT ... GROUP BY
- <replaceable>constant</replaceable></literal> returned multiple
- rows (it should return a single row). (Bug #8614)</para>
- </listitem>
+ <listitem><para>
+ Multiple range accesses in a subquery cause server crash. (Bug
+ #11487)
+ </para></listitem>
+
+ <listitem><para>
+ <emphasis role="bold">Security fix</emphasis>: On Windows systems,
+ a user with any of the following privileges
+
+ <itemizedlist>
+
+ <listitem><para>
+ <literal>REFERENCES</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CREATE TEMPORARY TABLES</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>GRANT OPTION</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CREATE</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>SELECT</literal>
+ </para></listitem>
+
+ </itemizedlist>
+
+ on <literal>*.*</literal> could crash
<literal>mysqld</literal> by
+ issuing a <literal>USE LPT1;</literal> or <literal>USE
+ PRN;</literal> command. In addition, any of the commands
+ <literal>USE NUL;</literal>, <literal>USE CON;</literal>,
+ <literal>USE COM1;</literal>, or <literal>USE AUX;</literal>
would
+ report success even though the database was not in fact changed.
+ <emphasis role="bold">Note</emphasis>: Although this bug was
+ thought to be fixed previously, it was later discovered to be
+ present in the MySQL 5.0.7-beta release for Windows. (Bug #9148,
+ <ulink
url="http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799">CAN-2005-0799</ulink>
+ </para></listitem>
+
+ <listitem><para>
+ An issue with index merging could cause suboptimal index merge
+ plans to be chosen when searching by indexes created on
+ <literal>DATE</literal> columns. The same issue caused the InnoDB
+ storage engine to issue the warning <literal>using a partial-field
+ key prefix in search</literal>. (Bug #8441)
+ </para></listitem>
+
+ <listitem><para>
+ The <literal>mysqlhotcopy</literal> script was not parsing the
+ output of <literal>SHOW SLAVE STATUS</literal> correctly when
+ called with the <literal>--record_log_pos</literal> option. (Bug
+ #7967)
+ </para></listitem>
+
+ <listitem><para>
+ <literal>SELECT * FROM
<replaceable>table</replaceable></literal>
+ returned incorrect results when called from a stored procedure,
+ where <replaceable>table</replaceable> had a primary key. (Bug
+ #10136)
+ </para></listitem>
+
+ <listitem><para>
+ When used in defining a view, the <literal>TIME_FORMAT()</literal>
+ function failed with calculated values, for example, when passed
+ the value returned by <literal>SEC_TO_TIME()</literal>. (Bug #7521)
+ </para></listitem>
+
+ <listitem><para>
+ <literal>SELECT DISTINCT ... GROUP BY
+ <replaceable>constant</replaceable></literal> returned multiple
+ rows (it should return a single row). (Bug #8614)
+ </para></listitem>
<listitem><para>
<literal>INSERT INTO SELECT FROM
@@ -391,8 +461,8 @@
<listitem><para>
An <literal>ORDER BY</literal> clause sometimes had no effect on
the ordering of a result when selecting specific columns (as
- opposed to using <literal>SELECT *</literal>) from a view.
- (Bug #7422)
+ opposed to using <literal>SELECT *</literal>) from a view. (Bug
+ #7422)
</para></listitem>
<listitem><para>
@@ -512,16 +582,16 @@
#10729)
</para></listitem>
- <listitem>
- <para>MySQL Cluster: Connections between data nodes and management
- nodes were not being closed following shutdown of
- <literal>ndb_mgmd</literal>. (Bug #11132)</para>
- </listitem>
+ <listitem><para>
+ MySQL Cluster: Connections between data nodes and management nodes
+ were not being closed following shutdown of
+ <literal>ndb_mgmd</literal>. (Bug #11132)
+ </para></listitem>
<listitem><para>
- MySQL Cluster: <literal>mysqld</literal> processes would not reconnect
- to cluster following restart of <literal>ndb_mgmd</literal>.
- (Bug #11221)
+ MySQL Cluster: <literal>mysqld</literal> processes would not
+ reconnect to cluster following restart of
+ <literal>ndb_mgmd</literal>. (Bug #11221)
</para></listitem>
<listitem><para>
@@ -574,19 +644,18 @@
in an infinite timeout. (Bug #11290)
</para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Enforce maximum
- <literal>CHAR_LENGTH()</literal> of UTF-8 data in <literal>ON
- UPDATE CASCADE</literal>. (Bug #10409)
- </para>
- </listitem>
+ <listitem><para>
+ <literal>InnoDB</literal>: Enforce maximum
+ <literal>CHAR_LENGTH()</literal> of UTF-8 data in <literal>ON
+ UPDATE CASCADE</literal>. (Bug #10409)
+ </para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Pad UTF-8 variable-length
- <literal>CHAR</literal> columns with
<literal>0x20</literal>. Pad
- UCS2 <literal>CHAR</literal> columns with
- <literal>0x0020</literal>. (Bug #10511)</para>
- </listitem>
+ <listitem><para>
+ <literal>InnoDB</literal>: Pad UTF-8 variable-length
+ <literal>CHAR</literal> columns with
<literal>0x20</literal>. Pad
+ UCS2 <literal>CHAR</literal> columns with
+ <literal>0x0020</literal>. (Bug #10511)
+ </para></listitem>
</itemizedlist>
@@ -687,35 +756,35 @@
<itemizedlist>
- <listitem>
- <para>The <literal>LAST_DAY()</literal> failed to return
- <literal>NULL</literal> when supplied with an invalid argument.
- See <xref linkend="date-and-time-functions"/>. (Bug #10568)</para>
- </listitem>
+ <listitem><para>
+ The <literal>LAST_DAY()</literal> failed to return
+ <literal>NULL</literal> when supplied with an invalid argument. See
+ <xref linkend="date-and-time-functions"/>. (Bug #10568)
+ </para></listitem>
- <listitem>
- <para>The functions <literal>COALESCE()</literal>,
- <literal>IF()</literal>, and <literal>IFNULL()</literal>
performed
- incorrect conversions of their arguments. (Bug #9939)</para>
- </listitem>
+ <listitem><para>
+ The functions <literal>COALESCE()</literal>,
+ <literal>IF()</literal>, and <literal>IFNULL()</literal>
performed
+ incorrect conversions of their arguments. (Bug #9939)
+ </para></listitem>
- <listitem>
- <para>The <literal>TIME_FORMAT()</literal> function returned
- incorrect results with some format specifiers. See
- <xref linkend="date-and-time-functions"/>. (Bug #10590)</para>
- </listitem>
+ <listitem><para>
+ The <literal>TIME_FORMAT()</literal> function returned incorrect
+ results with some format specifiers. See
+ <xref linkend="date-and-time-functions"/>. (Bug #10590)
+ </para></listitem>
- <listitem>
- <para>Dropping stored routines when the MySQL server had been
- started with <literal>--skip-grant-tables</literal> generated
- extraneous warnings. (Bug #9993)</para>
- </listitem>
+ <listitem><para>
+ Dropping stored routines when the MySQL server had been started
+ with <literal>--skip-grant-tables</literal> generated extraneous
+ warnings. (Bug #9993)
+ </para></listitem>
- <listitem>
- <para>A problem with the <filename>my_global.h</filename> file
- caused compilation of MySQL to fail on single-processor Linux
- systems running 2.6 kernels. (Bug #10364)</para>
- </listitem>
+ <listitem><para>
+ A problem with the <filename>my_global.h</filename> file caused
+ compilation of MySQL to fail on single-processor Linux systems
+ running 2.6 kernels. (Bug #10364)
+ </para></listitem>
<listitem><para>
The ucs2_turkish_ci collation failed with upper('i'). UPPER/LOWER
@@ -4377,15 +4446,15 @@
<itemizedlist>
- <listitem>
- <para>System variables are now treated as having
- <literal>SYSVAR</literal> (system constant) coercibility. For
- example, <literal>@@version</literal> is now treated like
- <literal>VERSION()</literal> and
- <literal>@@character_set_client</literal> is now treated like
- <literal>CHARSET( USER() )</literal>. See
- <xref linkend="charset-collate-tricky"/>. (Bug #10904)</para>
- </listitem>
+ <listitem><para>
+ System variables are now treated as having
+ <literal>SYSVAR</literal> (system constant) coercibility. For
+ example, <literal>@@version</literal> is now treated like
+ <literal>VERSION()</literal> and
+ <literal>@@character_set_client</literal> is now treated like
+ <literal>CHARSET( USER() )</literal>. See
+ <xref linkend="charset-collate-tricky"/>. (Bug #10904)
+ </para></listitem>
<listitem><para>
Added the <option>--log-slow-admin-statements</option> server
@@ -4416,24 +4485,25 @@
for prepared statements. (Bug #8367, Bug #9334)
</para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Various optimizations. Removed
- unreachable debug code from non-debug builds. Added hints for the
- branch predictor in GCC. Made assertions occupy less space.</para>
- </listitem>
+ <listitem><para>
+ <literal>InnoDB</literal>: Various optimizations. Removed
+ unreachable debug code from non-debug builds. Added hints for the
+ branch predictor in GCC. Made assertions occupy less space.
+ </para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Make
- <literal>innodb_thread_concurrency=20</literal> by default. Bypass
- the concurrency checking if the setting is greater than or equal
- to 20.</para>
- </listitem>
+ <listitem><para>
+ <literal>InnoDB</literal>: Make
+ <literal>innodb_thread_concurrency=20</literal> by default. Bypass
+ the concurrency checking if the setting is greater than or equal to
+ 20.
+ </para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Make <literal>CHECK
- TABLE</literal> killable. (Bug #9730)</para>
- </listitem>
- </itemizedlist>
+ <listitem><para>
+ <literal>InnoDB</literal>: Make <literal>CHECK
TABLE</literal>
+ killable. (Bug #9730)
+ </para></listitem>
+
+ </itemizedlist>
<para>
Bugs fixed:
@@ -4444,36 +4514,81 @@
<!-- NOTE: No need to start every item with "Fixed..."; sufficient to
describe the issue that was fixed. Use past tense. -->
- <listitem>
- <para><emphasis role="bold">Security fix</emphasis>: On Windows
- systems, a user with any of the following privileges
- <itemizedlist>
-
<listitem><para><literal>REFERENCES</literal></para></listitem>
- <listitem><para><literal>CREATE TEMPORARY
TABLES</literal></para></listitem>
- <listitem><para><literal>GRANT
OPTION</literal></para></listitem>
-
<listitem><para><literal>CREATE</literal></para></listitem>
-
<listitem><para><literal>SELECT</literal></para></listitem>
- </itemizedlist>
- on <literal>*.*</literal> could crash
<literal>mysqld</literal> by
- issuing a <literal>USE LPT1;</literal> or <literal>USE
- PRN;</literal> command. In addition, any of the commands
- <literal>USE NUL;</literal>, <literal>USE CON;</literal>,
- <literal>USE COM1;</literal>, or <literal>USE
AUX;</literal> would
- report success even though the database was not in fact changed.
- (Bug #9148,
- <ulink
url="http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799">CAN-2005-0799</ulink></para>
- </listitem>
+ <listitem><para>
+ Server crashed when using <literal>GROUP BY</literal> on the result
+ of a <literal>DIV</literal> operation on a
+ <literal>DATETIME</literal> value. (Bug #11385)
+ </para></listitem>
- <listitem>
- <para>A problem with the <filename>my_global.h</filename> file
- caused compilation of MySQL to fail on single-processor Linux
- systems running 2.6 kernels. (Bug #10364)</para>
- </listitem>
+ <listitem><para>
+ Possible <literal>NULL</literal> values in
<literal>BLOB</literal>
+ columns could crash server when <literal>BLOB</literal> used in
+ <literal>GROUP BY</literal>. (Bug #11295)
+ </para></listitem>
+
+ <listitem><para>
+ Fixed 64 bit compiler warning for packet length in replication.
+ (Bug #11064)
+ </para></listitem>
+
+ <listitem><para>
+ <emphasis role="bold">Security fix</emphasis>: On Windows systems,
+ a user with any of the following privileges
+
+ <itemizedlist>
+
+ <listitem><para>
+ <literal>REFERENCES</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CREATE TEMPORARY TABLES</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>GRANT OPTION</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CREATE</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>SELECT</literal>
+ </para></listitem>
+
+ </itemizedlist>
+
+ on <literal>*.*</literal> could crash
<literal>mysqld</literal> by
+ issuing a <literal>USE LPT1;</literal> or <literal>USE
+ PRN;</literal> command. In addition, any of the commands
+ <literal>USE NUL;</literal>, <literal>USE CON;</literal>,
+ <literal>USE COM1;</literal>, or <literal>USE AUX;</literal>
would
+ report success even though the database was not in fact changed.
+ (Bug #9148,
+ <ulink
url="http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799">CAN-2005-0799</ulink>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CASE</literal> function returns incorrect result when its
+ arguments are not constants and its return value is put into a
+ regular or temporary table (temporary == created by SQL engine for
+ <literal>UNION</literal>/non-indexed <literal>GROUP
BY</literal>
+ and such operations). (Bug #10151)
+ </para></listitem>
+
+ <listitem><para>
+ A problem with the <filename>my_global.h</filename> file caused
+ compilation of MySQL to fail on single-processor Linux systems
+ running 2.6 kernels. (Bug #10364)
+ </para></listitem>
+
+ <listitem><para>
+ Queries against a table using a compound index based on the length
+ of a UTF-8 text column produced incorrect results. For example,
+ given a table with an index defined as shown:
+ </para>
- <listitem>
- <para>Queries against a table using a compound index based on the
- length of a UTF-8 text column produced incorrect results. For
- example, given a table with an index defined as shown:</para>
<programlisting>
CREATE TABLE t (
id INT NOT NULL,
@@ -4481,45 +4596,47 @@
KEY (city(7),id)
) TYPE=MYISAM CHARACTER SET=utf8;
</programlisting>
- <para>Assuming that suitable data has been inserted into the
- table, then a query such as <literal>SELECT * FROM t WHERE city =
- 'Durban';</literal> would fail. (Bug #10253)</para>
- </listitem>
- <listitem>
- <para>The <literal>mysqlhotcopy</literal> script was not parsing
- the output of <literal>SHOW SLAVE STATUS</literal> correctly when
- called with the <literal>--record_log_pos</literal> option.
- (Bug #7967)</para>
- </listitem>
+ <para>
+ Assuming that suitable data has been inserted into the table, then
+ a query such as <literal>SELECT * FROM t WHERE city =
+ 'Durban';</literal> would fail. (Bug #10253)
+ </para></listitem>
- <listitem>
- <para>An <literal>UPDATE</literal> query containing a subselect
- caused replication to fail. (Bug #9361)</para>
- </listitem>
+ <listitem><para>
+ The <literal>mysqlhotcopy</literal> script was not parsing the
+ output of <literal>SHOW SLAVE STATUS</literal> correctly when
+ called with the <literal>--record_log_pos</literal> option. (Bug
+ #7967)
+ </para></listitem>
- <listitem>
- <para>Last insert expected from a query of the form <literal>INSERT
- ... SELECT ... ON DUPLICATE KEY UPDATE</literal> would fail.
- (Bug #9728)</para>
- </listitem>
+ <listitem><para>
+ An <literal>UPDATE</literal> query containing a subselect caused
+ replication to fail. (Bug #9361)
+ </para></listitem>
- <listitem>
- <para><literal>INSERT ... SELECT ... ON DUPLICATE KEY
UPDATE</literal>
- produced inaccurate results. (Bug #10886)</para>
- </listitem>
+ <listitem><para>
+ Last insert expected from a query of the form <literal>INSERT ...
+ SELECT ... ON DUPLICATE KEY UPDATE</literal> would fail. (Bug
+ #9728)
+ </para></listitem>
- <listitem>
- <para><literal>SELECT DISTINCT ... GROUP BY
- <replaceable>constant</replaceable></literal> returned multiple
- rows (it should return a single row). (Bug #8614)</para>
- </listitem>
+ <listitem><para>
+ <literal>INSERT ... SELECT ... ON DUPLICATE KEY UPDATE</literal>
+ produced inaccurate results. (Bug #10886)
+ </para></listitem>
- <listitem>
- <para>Queries of the form <literal>UPDATE ... (SELECT ... ) SET
- ...</literal> run on a replication master would crash all the
- slaves. (Bug #10442)</para>
- </listitem>
+ <listitem><para>
+ <literal>SELECT DISTINCT ... GROUP BY
+ <replaceable>constant</replaceable></literal> returned multiple
+ rows (it should return a single row). (Bug #8614)
+ </para></listitem>
+
+ <listitem><para>
+ Queries of the form <literal>UPDATE ... (SELECT ... ) SET
+ ...</literal> run on a replication master would crash all the
+ slaves. (Bug #10442)
+ </para></listitem>
<listitem><para>
<literal>OPTIMIZE</literal> of InnoDB table did not return 'Table
@@ -10818,17 +10935,17 @@
<itemizedlist>
- <listitem>
- <para>A problem with the <filename>my_global.h</filename> file
- caused compilation of MySQL to fail on single-processor Linux
- systems running 2.6 kernels. (Bug #10364)</para>
- </listitem>
+ <listitem><para>
+ A problem with the <filename>my_global.h</filename> file caused
+ compilation of MySQL to fail on single-processor Linux systems
+ running 2.6 kernels. (Bug #10364)
+ </para></listitem>
- <listitem>
- <para>A problem with the <filename>my_global.h</filename> file
- caused compilation of MySQL to fail on single-processor Linux
- systems running 2.6 kernels. (Bug #10364)</para>
- </listitem>
+ <listitem><para>
+ A problem with the <filename>my_global.h</filename> file caused
+ compilation of MySQL to fail on single-processor Linux systems
+ running 2.6 kernels. (Bug #10364)
+ </para></listitem>
<listitem><para>
Fixed a portability problem testing for <literal>crypt()</literal>
@@ -32296,11 +32413,11 @@
</para></listitem>
<listitem><para>
- (Bug #10711) (Bug #9363) (Bug #8918) (Bug #10058) (Bug #9025) Cluster
- would time out and crash after first query; setting DataMemory to
- more than 2GB prevented cluster from starting; calling
- <literal>ndb_select_count()</literal> crashed the cluster. (64-bit
- Unix OSes)
+ (Bug #10711) (Bug #9363) (Bug #8918) (Bug #10058) (Bug #9025)
+ Cluster would time out and crash after first query; setting
+ DataMemory to more than 2GB prevented cluster from starting;
+ calling <literal>ndb_select_count()</literal> crashed the cluster.
+ (64-bit Unix OSes)
</para></listitem>
</itemizedlist>
@@ -32542,11 +32659,11 @@
<itemizedlist>
- <listitem>
- <para>(Bug #11132) Connections between data nodes and management
- nodes were not being closed following shutdown of
- <literal>ndb_mgmd</literal>.</para>
- </listitem>
+ <listitem><para>
+ (Bug #11132) Connections between data nodes and management nodes
+ were not being closed following shutdown of
+ <literal>ndb_mgmd</literal>.
+ </para></listitem>
<listitem><para>
(Bug #11050) <literal>ndb_mgm> show</literal> printed
@@ -32575,11 +32692,11 @@
</para></listitem>
<listitem><para>
- (Bug #8918) (Bug #9363) (Bug #10711) (Bug #10058) (Bug #9025) Cluster
- would time out and crash after first query; setting DataMemory to
- more than 2GB prevented cluster from starting; calling
- <literal>ndb_select_count()</literal> crashed the cluster. (64-bit
- Unix OSes)
+ (Bug #8918) (Bug #9363) (Bug #10711) (Bug #10058) (Bug #9025)
+ Cluster would time out and crash after first query; setting
+ DataMemory to more than 2GB prevented cluster from starting;
+ calling <literal>ndb_select_count()</literal> crashed the cluster.
+ (64-bit Unix OSes)
</para></listitem>
<listitem><para>
@@ -32606,8 +32723,8 @@
</para></listitem>
<listitem><para>
- (Bug #11290) Setting TransactionInactiveTimeout= 0 did not result in
- an infinite timeout.
+ (Bug #11290) Setting TransactionInactiveTimeout= 0 did not result
+ in an infinite timeout.
</para></listitem>
</itemizedlist>
--- 1.3/refman-5.0/functions.xml 2005-06-20 02:25:31 -06:00
+++ 1.4/refman-5.0/functions.xml 2005-06-23 16:01:06 -06:00
@@ -309,7 +309,7 @@
<para>
The reason for this is that there are many different strings that
may convert to the value <literal>1</literal>:
- <literal>'1'</literal>, <literal>' 1'</literal>,
+ <literal>'1'</literal>, <literal>' 1'</literal>,
<literal>'1a'</literal>, ...
</para>
@@ -1028,6 +1028,7 @@
<literal>=</literal> is always false.
</para>
+ <para>The <literal>ISNULL()</literal> function shares some special
behaviors with the <literal>IS NULL</literal> comparison operator, see the
description of <literal>IS NULL</literal> at <xref
linkend="comparison-operators" />.</para>
<para>
<!-- description_for_help_topic INTERVAL -->
</para>
@@ -9435,27 +9436,28 @@
</programlisting>
<para>
- The MySQL <literal>FULLTEXT</literal> implementation regards any sequence
- of true word characters (letters, digits, and underscores) as a word.
- That sequence may also contain apostrophes (<literal>'</literal>),
- but not more than one in a row. This means that <literal>aaa'bbb</literal>
- is regarded as one word, but <literal>aaa''bbb</literal> is regarded as
two
- words. Apostrophes at the beginning or the end of a word are stripped by
- the <literal>FULLTEXT</literal> parser;
<literal>'aaa'bbb'</literal> would
- be parsed as <literal>aaa'bbb</literal>.
+ The MySQL <literal>FULLTEXT</literal> implementation regards any
+ sequence of true word characters (letters, digits, and underscores)
+ as a word. That sequence may also contain apostrophes
+ (<literal>'</literal>), but not more than one in a row. This means
+ that <literal>aaa'bbb</literal> is regarded as one word, but
+ <literal>aaa''bbb</literal> is regarded as two words. Apostrophes at
+ the beginning or the end of a word are stripped by the
+ <literal>FULLTEXT</literal> parser;
<literal>'aaa'bbb'</literal>
+ would be parsed as <literal>aaa'bbb</literal>.
</para>
<para>
- 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 aren't separated by
delimiters,
- like for example Chinese words, the <literal>FULLTEXT</literal> parser
- cannot determine where a word starts and where it ends. To be able to add
- words or other indexed terms in such languages to a
- <literal>FULLTEXT</literal> index, you'd have to preprocess them so that
- they are separated by some delimiter (for example,
- by <literal>''</literal>).
+ 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 aren't separated by
+ delimiters, like for example Chinese words, the
+ <literal>FULLTEXT</literal> parser cannot determine where a word
+ starts and where it ends. To be able to add words or other indexed
+ terms in such languages to a <literal>FULLTEXT</literal> index, you'd
+ have to preprocess them so that they are separated by some delimiter
+ (for example, by <literal>''</literal>).
</para>
<para>
@@ -9888,10 +9890,10 @@
<listitem><para>
Languages such as Chinese, Japanese, and so forth don't have word
- delimiters. You should be aware that the <literal>FULLTEXT</literal>
parser
- cannot determine where a word starts and where it ends in these languages.
- Implications and workarounds are described in
- <xref linkend="fulltext-search"/>.
+ delimiters. You should be aware that the
+ <literal>FULLTEXT</literal> parser cannot determine where a word
+ starts and where it ends in these languages. Implications and
+ workarounds are described in <xref linkend="fulltext-search"/>.
</para></listitem>
<listitem><para>
--- 1.1/refman-5.0/language-structure.xml 2005-06-16 13:46:21 -06:00
+++ 1.2/refman-5.0/language-structure.xml 2005-06-23 16:01:06 -06:00
@@ -987,11 +987,17 @@
</itemizedlist>
<para>
- It is recommended that you do not use names like
- <literal>1e</literal>, because an expression like
- <literal>1e+1</literal> is ambiguous. It might be interpreted as the
- expression <literal>1e + 1</literal> or as the number
- <literal>1e+1</literal>, depending on context.
+ It is recommended that you do not use names of the pattern
+
<literal><replaceable>X</replaceable>e<replaceable>X</replaceable></literal>,
+ such as <literal>1e</literal> or <literal>2e2</literal>,
because an
+ expression like <literal>1e+1</literal> is ambiguous. It might be
+ interpreted as the expression <literal>1e + 1</literal> or as the
+ number <literal>1e+1</literal>, depending on context.
+ </para>
+
+ <para>
+ Be careful when using <literal>MD5</literal> to produce table names,
+ as it can produce illegal tables names such as the ones listed above.
</para>
<section id="identifier-qualifiers">
@@ -1915,9 +1921,9 @@
</para></listitem>
<listitem><para>
- From a '<literal>-- </literal>' sequence to the end of the line.
+ From a '<literal>-- </literal>' sequence to the end of the line.
This style is supported as of MySQL 3.23.3. Note that the
- '<literal>-- </literal>' (double-dash) comment style requires the
+ '<literal>-- </literal>' (double-dash) comment style requires the
second dash to be followed by at least one space (or by a control
character such as a newline). This syntax differs slightly from
standard SQL comment syntax, as discussed in
--- 1.21/refman-5.0/news.xml 2005-06-23 07:50:27 -06:00
+++ 1.22/refman-5.0/news.xml 2005-06-23 16:01:06 -06:00
@@ -246,15 +246,20 @@
for prepared statements. (Bug #8367, Bug #9334)
</para></listitem>
- <listitem>
- <para>Where a <literal>GROUP BY</literal> query uses a grouping
- column from the query's <literal>SELECT</literal> clause, MySQL
- now issues a warning. This is because the SQL standard states that
- any grouping column must unambiguously reference a column of the
- table resulting from the query's <literal>FROM</literal> clause,
- and allowing columns from the <literal>SELECT</literal> clause to
- be used as grouping columns is a MySQL extension to the standard.</para>
- <para>By way of example, consider the following two tables:</para>
+ <listitem><para>
+ Where a <literal>GROUP BY</literal> query uses a grouping column
+ from the query's <literal>SELECT</literal> clause, MySQL now issues
+ a warning. This is because the SQL standard states that any
+ grouping column must unambiguously reference a column of the table
+ resulting from the query's <literal>FROM</literal> clause, and
+ allowing columns from the <literal>SELECT</literal> clause to be
+ used as grouping columns is a MySQL extension to the standard.
+ </para>
+
+ <para>
+ By way of example, consider the following two tables:
+ </para>
+
<programlisting>
CREATE TABLE users (
userid INT NOT NULL PRIMARY KEY,
@@ -262,35 +267,50 @@
usergroupid INT NOT NULL
);
</programlisting>
- <para>MySQL allows you to use the alias in this query:</para>
+
+ <para>
+ MySQL allows you to use the alias in this query:
+ </para>
+
<programlisting>
SELECT usergroupid AS id, COUNT(userid) AS number_of_users
FROM groups
GROUP BY id;
</programlisting>
- <para>However, the SQL standard requires the the column name be
- used, as shown here:</para>
+
+ <para>
+ However, the SQL standard requires the the column name be used, as
+ shown here:
+ </para>
+
<programlisting>
SELECT usergroupid AS id, COUNT(userid) AS number_of_users
FROM groups
GROUP BY userid;
</programlisting>
- <para>Queries such as the first of the two shown above will
- continue to be supported in MySQL; however, beginning with MySQL
- 5.0.8, using a column alias in this fashion will generate a
- warning. Note that in the event of a collision between column
- names and/or aliases used in joins, MySQL attempts to resolve the
- conflict by giving preference to columns arising from tables named
- in the query's <literal>FROM</literal> clause. (Bug
#11211)</para>
- </listitem>
- <listitem>
- <para>The granting or revocation of privileges on a stored routine
- is no longer performed when running the server with
- <literal>--skip-grant-tables</literal> even after the statement
- <literal>SET @@global.automatic_sp_privileges=1;</literal> has
- been executed. (Bug #9993)</para>
- </listitem>
+ <para>
+ Queries such as the first of the two shown above will continue to
+ be supported in MySQL; however, beginning with MySQL 5.0.8, using a
+ column alias in this fashion will generate a warning. Note that in
+ the event of a collision between column names and/or aliases used
+ in joins, MySQL attempts to resolve the conflict by giving
+ preference to columns arising from tables named in the query's
+ <literal>FROM</literal> clause. (Bug #11211)
+ </para></listitem>
+
+ <listitem><para>
+ The granting or revocation of privileges on a stored routine is no
+ longer performed when running the server with
+ <literal>--skip-grant-tables</literal> even after the statement
+ <literal>SET @@global.automatic_sp_privileges=1;</literal> has been
+ executed. (Bug #9993)
+ </para></listitem>
+
+ <listitem><para>
+ Added support for <literal>B'10'</literal> syntax for bit literal.
+ (Bug #10650)
+ </para></listitem>
</itemizedlist>
@@ -303,10 +323,10 @@
<!-- NOTE: No need to start every item with "Fixed..."; sufficient to
describe the issue that was fixed. Use past tense. -->
-
- <!-- TODO: Uncomment the following item when pushed to the 5.0
+<!-- TODO: Uncomment the following item when pushed to the 5.0
tree; move to 5.0.9 bugfixes if necessary. -->
- <!--
+
+<!--
<listitem>
<para>Queries of the form <literal>UPDATE ... (SELECT ... ) SET
...</literal> run on a replication master would crash all the
@@ -314,62 +334,112 @@
</listitem>
-->
- <listitem>
- <para><emphasis role="bold">Security fix</emphasis>: On Windows
- systems, a user with any of the following privileges
- <itemizedlist>
-
<listitem><para><literal>REFERENCES</literal></para></listitem>
- <listitem><para><literal>CREATE TEMPORARY
TABLES</literal></para></listitem>
- <listitem><para><literal>GRANT
OPTION</literal></para></listitem>
-
<listitem><para><literal>CREATE</literal></para></listitem>
-
<listitem><para><literal>SELECT</literal></para></listitem>
- </itemizedlist>
- on <literal>*.*</literal> could crash
<literal>mysqld</literal> by
- issuing a <literal>USE LPT1;</literal> or <literal>USE
- PRN;</literal> command. In addition, any of the commands
- <literal>USE NUL;</literal>, <literal>USE CON;</literal>,
- <literal>USE COM1;</literal>, or <literal>USE
AUX;</literal> would
- report success even though the database was not in fact changed.
- <emphasis role="bold">Note</emphasis>: Although this bug was
- thought to be fixed previously, it was later discovered to be
- present in the MySQL 5.0.7-beta release for Windows. (Bug #9148,
- <ulink
url="http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799">CAN-2005-0799</ulink></para>
- </listitem>
+ <listitem><para>
+ <literal>sql_data_access</literal> column of
+ <literal>routines</literal> table of
+ <literal>INFORMATION_SCHEMA</literal> was empty. (Bug #11055)
+ </para></listitem>
- <listitem>
- <para>An issue with index merging could cause suboptimal index
- merge plans to be chosen when searching by indexes created on
- <literal>DATE</literal> columns. The same issue caused the InnoDB
- storage engine to issue the warning <literal>using a partial-field
- key prefix in search</literal>. (Bug #8441)</para>
- </listitem>
+ <listitem><para>
+ A <literal>CAST()</literal> value could not be included in a
+ <literal>VIEW</literal>. (Bug #11387)
+ </para></listitem>
- <listitem>
- <para>The <literal>mysqlhotcopy</literal> script was not parsing
- the output of <literal>SHOW SLAVE STATUS</literal> correctly when
- called with the <literal>--record_log_pos</literal> option.
- (Bug #7967)</para>
- </listitem>
+ <listitem><para>
+ Server crashed when using <literal>GROUP BY</literal> on the result
+ of a <literal>DIV</literal> operation on a
+ <literal>DATETIME</literal> value. (Bug #11385)
+ </para></listitem>
- <listitem>
- <para><literal>SELECT * FROM
<replaceable>table</replaceable></literal>
- returned incorrect results when called from a stored procedure,
- where <replaceable>table</replaceable> had a primary key.
- (Bug #10136)</para>
- </listitem>
+ <listitem><para>
+ Possible <literal>NULL</literal> values in
<literal>BLOB</literal>
+ columns could crash server when <literal>BLOB</literal> used in
+ <literal>GROUP BY</literal>. (Bug #11295)
+ </para></listitem>
- <listitem>
- <para>When used in defining a view, the
<literal>TIME_FORMAT()</literal>
- function failed with calculated values, for example, when passed
- the value returned by <literal>SEC_TO_TIME()</literal>. (Bug #7521)
- </para>
- </listitem>
+ <listitem><para>
+ Fixed 64 bit compiler warning for packet length in replication.
+ (Bug #11064)
+ </para></listitem>
- <listitem>
- <para><literal>SELECT DISTINCT ... GROUP BY
- <replaceable>constant</replaceable></literal> returned multiple
- rows (it should return a single row). (Bug #8614)</para>
- </listitem>
+ <listitem><para>
+ Multiple range accesses in a subquery cause server crash. (Bug
+ #11487)
+ </para></listitem>
+
+ <listitem><para>
+ <emphasis role="bold">Security fix</emphasis>: On Windows systems,
+ a user with any of the following privileges
+
+ <itemizedlist>
+
+ <listitem><para>
+ <literal>REFERENCES</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CREATE TEMPORARY TABLES</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>GRANT OPTION</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CREATE</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>SELECT</literal>
+ </para></listitem>
+
+ </itemizedlist>
+
+ on <literal>*.*</literal> could crash
<literal>mysqld</literal> by
+ issuing a <literal>USE LPT1;</literal> or <literal>USE
+ PRN;</literal> command. In addition, any of the commands
+ <literal>USE NUL;</literal>, <literal>USE CON;</literal>,
+ <literal>USE COM1;</literal>, or <literal>USE AUX;</literal>
would
+ report success even though the database was not in fact changed.
+ <emphasis role="bold">Note</emphasis>: Although this bug was
+ thought to be fixed previously, it was later discovered to be
+ present in the MySQL 5.0.7-beta release for Windows. (Bug #9148,
+ <ulink
url="http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799">CAN-2005-0799</ulink>
+ </para></listitem>
+
+ <listitem><para>
+ An issue with index merging could cause suboptimal index merge
+ plans to be chosen when searching by indexes created on
+ <literal>DATE</literal> columns. The same issue caused the InnoDB
+ storage engine to issue the warning <literal>using a partial-field
+ key prefix in search</literal>. (Bug #8441)
+ </para></listitem>
+
+ <listitem><para>
+ The <literal>mysqlhotcopy</literal> script was not parsing the
+ output of <literal>SHOW SLAVE STATUS</literal> correctly when
+ called with the <literal>--record_log_pos</literal> option. (Bug
+ #7967)
+ </para></listitem>
+
+ <listitem><para>
+ <literal>SELECT * FROM
<replaceable>table</replaceable></literal>
+ returned incorrect results when called from a stored procedure,
+ where <replaceable>table</replaceable> had a primary key. (Bug
+ #10136)
+ </para></listitem>
+
+ <listitem><para>
+ When used in defining a view, the <literal>TIME_FORMAT()</literal>
+ function failed with calculated values, for example, when passed
+ the value returned by <literal>SEC_TO_TIME()</literal>. (Bug #7521)
+ </para></listitem>
+
+ <listitem><para>
+ <literal>SELECT DISTINCT ... GROUP BY
+ <replaceable>constant</replaceable></literal> returned multiple
+ rows (it should return a single row). (Bug #8614)
+ </para></listitem>
<listitem><para>
<literal>INSERT INTO SELECT FROM
@@ -391,8 +461,8 @@
<listitem><para>
An <literal>ORDER BY</literal> clause sometimes had no effect on
the ordering of a result when selecting specific columns (as
- opposed to using <literal>SELECT *</literal>) from a view.
- (Bug #7422)
+ opposed to using <literal>SELECT *</literal>) from a view. (Bug
+ #7422)
</para></listitem>
<listitem><para>
@@ -512,16 +582,16 @@
#10729)
</para></listitem>
- <listitem>
- <para>MySQL Cluster: Connections between data nodes and management
- nodes were not being closed following shutdown of
- <literal>ndb_mgmd</literal>. (Bug #11132)</para>
- </listitem>
+ <listitem><para>
+ MySQL Cluster: Connections between data nodes and management nodes
+ were not being closed following shutdown of
+ <literal>ndb_mgmd</literal>. (Bug #11132)
+ </para></listitem>
<listitem><para>
- MySQL Cluster: <literal>mysqld</literal> processes would not reconnect
- to cluster following restart of <literal>ndb_mgmd</literal>.
- (Bug #11221)
+ MySQL Cluster: <literal>mysqld</literal> processes would not
+ reconnect to cluster following restart of
+ <literal>ndb_mgmd</literal>. (Bug #11221)
</para></listitem>
<listitem><para>
@@ -574,19 +644,18 @@
in an infinite timeout. (Bug #11290)
</para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Enforce maximum
- <literal>CHAR_LENGTH()</literal> of UTF-8 data in <literal>ON
- UPDATE CASCADE</literal>. (Bug #10409)
- </para>
- </listitem>
+ <listitem><para>
+ <literal>InnoDB</literal>: Enforce maximum
+ <literal>CHAR_LENGTH()</literal> of UTF-8 data in <literal>ON
+ UPDATE CASCADE</literal>. (Bug #10409)
+ </para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Pad UTF-8 variable-length
- <literal>CHAR</literal> columns with
<literal>0x20</literal>. Pad
- UCS2 <literal>CHAR</literal> columns with
- <literal>0x0020</literal>. (Bug #10511)</para>
- </listitem>
+ <listitem><para>
+ <literal>InnoDB</literal>: Pad UTF-8 variable-length
+ <literal>CHAR</literal> columns with
<literal>0x20</literal>. Pad
+ UCS2 <literal>CHAR</literal> columns with
+ <literal>0x0020</literal>. (Bug #10511)
+ </para></listitem>
</itemizedlist>
@@ -687,35 +756,35 @@
<itemizedlist>
- <listitem>
- <para>The <literal>LAST_DAY()</literal> failed to return
- <literal>NULL</literal> when supplied with an invalid argument.
- See <xref linkend="date-and-time-functions"/>. (Bug #10568)</para>
- </listitem>
+ <listitem><para>
+ The <literal>LAST_DAY()</literal> failed to return
+ <literal>NULL</literal> when supplied with an invalid argument. See
+ <xref linkend="date-and-time-functions"/>. (Bug #10568)
+ </para></listitem>
- <listitem>
- <para>The functions <literal>COALESCE()</literal>,
- <literal>IF()</literal>, and <literal>IFNULL()</literal>
performed
- incorrect conversions of their arguments. (Bug #9939)</para>
- </listitem>
+ <listitem><para>
+ The functions <literal>COALESCE()</literal>,
+ <literal>IF()</literal>, and <literal>IFNULL()</literal>
performed
+ incorrect conversions of their arguments. (Bug #9939)
+ </para></listitem>
- <listitem>
- <para>The <literal>TIME_FORMAT()</literal> function returned
- incorrect results with some format specifiers. See
- <xref linkend="date-and-time-functions"/>. (Bug #10590)</para>
- </listitem>
+ <listitem><para>
+ The <literal>TIME_FORMAT()</literal> function returned incorrect
+ results with some format specifiers. See
+ <xref linkend="date-and-time-functions"/>. (Bug #10590)
+ </para></listitem>
- <listitem>
- <para>Dropping stored routines when the MySQL server had been
- started with <literal>--skip-grant-tables</literal> generated
- extraneous warnings. (Bug #9993)</para>
- </listitem>
+ <listitem><para>
+ Dropping stored routines when the MySQL server had been started
+ with <literal>--skip-grant-tables</literal> generated extraneous
+ warnings. (Bug #9993)
+ </para></listitem>
- <listitem>
- <para>A problem with the <filename>my_global.h</filename> file
- caused compilation of MySQL to fail on single-processor Linux
- systems running 2.6 kernels. (Bug #10364)</para>
- </listitem>
+ <listitem><para>
+ A problem with the <filename>my_global.h</filename> file caused
+ compilation of MySQL to fail on single-processor Linux systems
+ running 2.6 kernels. (Bug #10364)
+ </para></listitem>
<listitem><para>
The ucs2_turkish_ci collation failed with upper('i'). UPPER/LOWER
@@ -4377,15 +4446,15 @@
<itemizedlist>
- <listitem>
- <para>System variables are now treated as having
- <literal>SYSVAR</literal> (system constant) coercibility. For
- example, <literal>@@version</literal> is now treated like
- <literal>VERSION()</literal> and
- <literal>@@character_set_client</literal> is now treated like
- <literal>CHARSET( USER() )</literal>. See
- <xref linkend="charset-collate-tricky"/>. (Bug #10904)</para>
- </listitem>
+ <listitem><para>
+ System variables are now treated as having
+ <literal>SYSVAR</literal> (system constant) coercibility. For
+ example, <literal>@@version</literal> is now treated like
+ <literal>VERSION()</literal> and
+ <literal>@@character_set_client</literal> is now treated like
+ <literal>CHARSET( USER() )</literal>. See
+ <xref linkend="charset-collate-tricky"/>. (Bug #10904)
+ </para></listitem>
<listitem><para>
Added the <option>--log-slow-admin-statements</option> server
@@ -4416,24 +4485,25 @@
for prepared statements. (Bug #8367, Bug #9334)
</para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Various optimizations. Removed
- unreachable debug code from non-debug builds. Added hints for the
- branch predictor in GCC. Made assertions occupy less space.</para>
- </listitem>
+ <listitem><para>
+ <literal>InnoDB</literal>: Various optimizations. Removed
+ unreachable debug code from non-debug builds. Added hints for the
+ branch predictor in GCC. Made assertions occupy less space.
+ </para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Make
- <literal>innodb_thread_concurrency=20</literal> by default. Bypass
- the concurrency checking if the setting is greater than or equal
- to 20.</para>
- </listitem>
+ <listitem><para>
+ <literal>InnoDB</literal>: Make
+ <literal>innodb_thread_concurrency=20</literal> by default. Bypass
+ the concurrency checking if the setting is greater than or equal to
+ 20.
+ </para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Make <literal>CHECK
- TABLE</literal> killable. (Bug #9730)</para>
- </listitem>
- </itemizedlist>
+ <listitem><para>
+ <literal>InnoDB</literal>: Make <literal>CHECK
TABLE</literal>
+ killable. (Bug #9730)
+ </para></listitem>
+
+ </itemizedlist>
<para>
Bugs fixed:
@@ -4444,36 +4514,81 @@
<!-- NOTE: No need to start every item with "Fixed..."; sufficient to
describe the issue that was fixed. Use past tense. -->
- <listitem>
- <para><emphasis role="bold">Security fix</emphasis>: On Windows
- systems, a user with any of the following privileges
- <itemizedlist>
-
<listitem><para><literal>REFERENCES</literal></para></listitem>
- <listitem><para><literal>CREATE TEMPORARY
TABLES</literal></para></listitem>
- <listitem><para><literal>GRANT
OPTION</literal></para></listitem>
-
<listitem><para><literal>CREATE</literal></para></listitem>
-
<listitem><para><literal>SELECT</literal></para></listitem>
- </itemizedlist>
- on <literal>*.*</literal> could crash
<literal>mysqld</literal> by
- issuing a <literal>USE LPT1;</literal> or <literal>USE
- PRN;</literal> command. In addition, any of the commands
- <literal>USE NUL;</literal>, <literal>USE CON;</literal>,
- <literal>USE COM1;</literal>, or <literal>USE
AUX;</literal> would
- report success even though the database was not in fact changed.
- (Bug #9148,
- <ulink
url="http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799">CAN-2005-0799</ulink></para>
- </listitem>
+ <listitem><para>
+ Server crashed when using <literal>GROUP BY</literal> on the result
+ of a <literal>DIV</literal> operation on a
+ <literal>DATETIME</literal> value. (Bug #11385)
+ </para></listitem>
- <listitem>
- <para>A problem with the <filename>my_global.h</filename> file
- caused compilation of MySQL to fail on single-processor Linux
- systems running 2.6 kernels. (Bug #10364)</para>
- </listitem>
+ <listitem><para>
+ Possible <literal>NULL</literal> values in
<literal>BLOB</literal>
+ columns could crash server when <literal>BLOB</literal> used in
+ <literal>GROUP BY</literal>. (Bug #11295)
+ </para></listitem>
+
+ <listitem><para>
+ Fixed 64 bit compiler warning for packet length in replication.
+ (Bug #11064)
+ </para></listitem>
+
+ <listitem><para>
+ <emphasis role="bold">Security fix</emphasis>: On Windows systems,
+ a user with any of the following privileges
+
+ <itemizedlist>
+
+ <listitem><para>
+ <literal>REFERENCES</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CREATE TEMPORARY TABLES</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>GRANT OPTION</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CREATE</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>SELECT</literal>
+ </para></listitem>
+
+ </itemizedlist>
+
+ on <literal>*.*</literal> could crash
<literal>mysqld</literal> by
+ issuing a <literal>USE LPT1;</literal> or <literal>USE
+ PRN;</literal> command. In addition, any of the commands
+ <literal>USE NUL;</literal>, <literal>USE CON;</literal>,
+ <literal>USE COM1;</literal>, or <literal>USE AUX;</literal>
would
+ report success even though the database was not in fact changed.
+ (Bug #9148,
+ <ulink
url="http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799">CAN-2005-0799</ulink>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CASE</literal> function returns incorrect result when its
+ arguments are not constants and its return value is put into a
+ regular or temporary table (temporary == created by SQL engine for
+ <literal>UNION</literal>/non-indexed <literal>GROUP
BY</literal>
+ and such operations). (Bug #10151)
+ </para></listitem>
+
+ <listitem><para>
+ A problem with the <filename>my_global.h</filename> file caused
+ compilation of MySQL to fail on single-processor Linux systems
+ running 2.6 kernels. (Bug #10364)
+ </para></listitem>
+
+ <listitem><para>
+ Queries against a table using a compound index based on the length
+ of a UTF-8 text column produced incorrect results. For example,
+ given a table with an index defined as shown:
+ </para>
- <listitem>
- <para>Queries against a table using a compound index based on the
- length of a UTF-8 text column produced incorrect results. For
- example, given a table with an index defined as shown:</para>
<programlisting>
CREATE TABLE t (
id INT NOT NULL,
@@ -4481,45 +4596,47 @@
KEY (city(7),id)
) TYPE=MYISAM CHARACTER SET=utf8;
</programlisting>
- <para>Assuming that suitable data has been inserted into the
- table, then a query such as <literal>SELECT * FROM t WHERE city =
- 'Durban';</literal> would fail. (Bug #10253)</para>
- </listitem>
- <listitem>
- <para>The <literal>mysqlhotcopy</literal> script was not parsing
- the output of <literal>SHOW SLAVE STATUS</literal> correctly when
- called with the <literal>--record_log_pos</literal> option.
- (Bug #7967)</para>
- </listitem>
+ <para>
+ Assuming that suitable data has been inserted into the table, then
+ a query such as <literal>SELECT * FROM t WHERE city =
+ 'Durban';</literal> would fail. (Bug #10253)
+ </para></listitem>
- <listitem>
- <para>An <literal>UPDATE</literal> query containing a subselect
- caused replication to fail. (Bug #9361)</para>
- </listitem>
+ <listitem><para>
+ The <literal>mysqlhotcopy</literal> script was not parsing the
+ output of <literal>SHOW SLAVE STATUS</literal> correctly when
+ called with the <literal>--record_log_pos</literal> option. (Bug
+ #7967)
+ </para></listitem>
- <listitem>
- <para>Last insert expected from a query of the form <literal>INSERT
- ... SELECT ... ON DUPLICATE KEY UPDATE</literal> would fail.
- (Bug #9728)</para>
- </listitem>
+ <listitem><para>
+ An <literal>UPDATE</literal> query containing a subselect caused
+ replication to fail. (Bug #9361)
+ </para></listitem>
- <listitem>
- <para><literal>INSERT ... SELECT ... ON DUPLICATE KEY
UPDATE</literal>
- produced inaccurate results. (Bug #10886)</para>
- </listitem>
+ <listitem><para>
+ Last insert expected from a query of the form <literal>INSERT ...
+ SELECT ... ON DUPLICATE KEY UPDATE</literal> would fail. (Bug
+ #9728)
+ </para></listitem>
- <listitem>
- <para><literal>SELECT DISTINCT ... GROUP BY
- <replaceable>constant</replaceable></literal> returned multiple
- rows (it should return a single row). (Bug #8614)</para>
- </listitem>
+ <listitem><para>
+ <literal>INSERT ... SELECT ... ON DUPLICATE KEY UPDATE</literal>
+ produced inaccurate results. (Bug #10886)
+ </para></listitem>
- <listitem>
- <para>Queries of the form <literal>UPDATE ... (SELECT ... ) SET
- ...</literal> run on a replication master would crash all the
- slaves. (Bug #10442)</para>
- </listitem>
+ <listitem><para>
+ <literal>SELECT DISTINCT ... GROUP BY
+ <replaceable>constant</replaceable></literal> returned multiple
+ rows (it should return a single row). (Bug #8614)
+ </para></listitem>
+
+ <listitem><para>
+ Queries of the form <literal>UPDATE ... (SELECT ... ) SET
+ ...</literal> run on a replication master would crash all the
+ slaves. (Bug #10442)
+ </para></listitem>
<listitem><para>
<literal>OPTIMIZE</literal> of InnoDB table did not return 'Table
@@ -10818,17 +10935,17 @@
<itemizedlist>
- <listitem>
- <para>A problem with the <filename>my_global.h</filename> file
- caused compilation of MySQL to fail on single-processor Linux
- systems running 2.6 kernels. (Bug #10364)</para>
- </listitem>
+ <listitem><para>
+ A problem with the <filename>my_global.h</filename> file caused
+ compilation of MySQL to fail on single-processor Linux systems
+ running 2.6 kernels. (Bug #10364)
+ </para></listitem>
- <listitem>
- <para>A problem with the <filename>my_global.h</filename> file
- caused compilation of MySQL to fail on single-processor Linux
- systems running 2.6 kernels. (Bug #10364)</para>
- </listitem>
+ <listitem><para>
+ A problem with the <filename>my_global.h</filename> file caused
+ compilation of MySQL to fail on single-processor Linux systems
+ running 2.6 kernels. (Bug #10364)
+ </para></listitem>
<listitem><para>
Fixed a portability problem testing for <literal>crypt()</literal>
@@ -32296,11 +32413,11 @@
</para></listitem>
<listitem><para>
- (Bug #10711) (Bug #9363) (Bug #8918) (Bug #10058) (Bug #9025) Cluster
- would time out and crash after first query; setting DataMemory to
- more than 2GB prevented cluster from starting; calling
- <literal>ndb_select_count()</literal> crashed the cluster. (64-bit
- Unix OSes)
+ (Bug #10711) (Bug #9363) (Bug #8918) (Bug #10058) (Bug #9025)
+ Cluster would time out and crash after first query; setting
+ DataMemory to more than 2GB prevented cluster from starting;
+ calling <literal>ndb_select_count()</literal> crashed the cluster.
+ (64-bit Unix OSes)
</para></listitem>
</itemizedlist>
@@ -32542,11 +32659,11 @@
<itemizedlist>
- <listitem>
- <para>(Bug #11132) Connections between data nodes and management
- nodes were not being closed following shutdown of
- <literal>ndb_mgmd</literal>.</para>
- </listitem>
+ <listitem><para>
+ (Bug #11132) Connections between data nodes and management nodes
+ were not being closed following shutdown of
+ <literal>ndb_mgmd</literal>.
+ </para></listitem>
<listitem><para>
(Bug #11050) <literal>ndb_mgm> show</literal> printed
@@ -32575,11 +32692,11 @@
</para></listitem>
<listitem><para>
- (Bug #8918) (Bug #9363) (Bug #10711) (Bug #10058) (Bug #9025) Cluster
- would time out and crash after first query; setting DataMemory to
- more than 2GB prevented cluster from starting; calling
- <literal>ndb_select_count()</literal> crashed the cluster. (64-bit
- Unix OSes)
+ (Bug #8918) (Bug #9363) (Bug #10711) (Bug #10058) (Bug #9025)
+ Cluster would time out and crash after first query; setting
+ DataMemory to more than 2GB prevented cluster from starting;
+ calling <literal>ndb_select_count()</literal> crashed the cluster.
+ (64-bit Unix OSes)
</para></listitem>
<listitem><para>
@@ -32606,8 +32723,8 @@
</para></listitem>
<listitem><para>
- (Bug #11290) Setting TransactionInactiveTimeout= 0 did not result in
- an infinite timeout.
+ (Bug #11290) Setting TransactionInactiveTimeout= 0 did not result
+ in an infinite timeout.
</para></listitem>
</itemizedlist>
--- 1.3/refman/functions.xml 2005-06-20 02:25:57 -06:00
+++ 1.4/refman/functions.xml 2005-06-23 16:01:06 -06:00
@@ -309,7 +309,7 @@
<para>
The reason for this is that there are many different strings that
may convert to the value <literal>1</literal>:
- <literal>'1'</literal>, <literal>' 1'</literal>,
+ <literal>'1'</literal>, <literal>' 1'</literal>,
<literal>'1a'</literal>, ...
</para>
@@ -1028,6 +1028,7 @@
<literal>=</literal> is always false.
</para>
+ <para>The <literal>ISNULL()</literal> function shares some special
behaviors with the <literal>IS NULL</literal> comparison operator, see the
description of <literal>IS NULL</literal> at <xref
linkend="comparison-operators" />.</para>
<para>
<!-- description_for_help_topic INTERVAL -->
</para>
@@ -9435,27 +9436,28 @@
</programlisting>
<para>
- The MySQL <literal>FULLTEXT</literal> implementation regards any sequence
- of true word characters (letters, digits, and underscores) as a word.
- That sequence may also contain apostrophes (<literal>'</literal>),
- but not more than one in a row. This means that <literal>aaa'bbb</literal>
- is regarded as one word, but <literal>aaa''bbb</literal> is regarded as
two
- words. Apostrophes at the beginning or the end of a word are stripped by
- the <literal>FULLTEXT</literal> parser;
<literal>'aaa'bbb'</literal> would
- be parsed as <literal>aaa'bbb</literal>.
+ The MySQL <literal>FULLTEXT</literal> implementation regards any
+ sequence of true word characters (letters, digits, and underscores)
+ as a word. That sequence may also contain apostrophes
+ (<literal>'</literal>), but not more than one in a row. This means
+ that <literal>aaa'bbb</literal> is regarded as one word, but
+ <literal>aaa''bbb</literal> is regarded as two words. Apostrophes at
+ the beginning or the end of a word are stripped by the
+ <literal>FULLTEXT</literal> parser;
<literal>'aaa'bbb'</literal>
+ would be parsed as <literal>aaa'bbb</literal>.
</para>
<para>
- 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 aren't separated by
delimiters,
- like for example Chinese words, the <literal>FULLTEXT</literal> parser
- cannot determine where a word starts and where it ends. To be able to add
- words or other indexed terms in such languages to a
- <literal>FULLTEXT</literal> index, you'd have to preprocess them so that
- they are separated by some delimiter (for example,
- by <literal>''</literal>).
+ 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 aren't separated by
+ delimiters, like for example Chinese words, the
+ <literal>FULLTEXT</literal> parser cannot determine where a word
+ starts and where it ends. To be able to add words or other indexed
+ terms in such languages to a <literal>FULLTEXT</literal> index, you'd
+ have to preprocess them so that they are separated by some delimiter
+ (for example, by <literal>''</literal>).
</para>
<para>
@@ -9888,10 +9890,10 @@
<listitem><para>
Languages such as Chinese, Japanese, and so forth don't have word
- delimiters. You should be aware that the <literal>FULLTEXT</literal>
parser
- cannot determine where a word starts and where it ends in these languages.
- Implications and workarounds are described in
- <xref linkend="fulltext-search"/>.
+ delimiters. You should be aware that the
+ <literal>FULLTEXT</literal> parser cannot determine where a word
+ starts and where it ends in these languages. Implications and
+ workarounds are described in <xref linkend="fulltext-search"/>.
</para></listitem>
<listitem><para>
--- 1.3/refman/language-structure.xml 2005-06-16 10:47:52 -06:00
+++ 1.4/refman/language-structure.xml 2005-06-23 16:01:06 -06:00
@@ -987,11 +987,17 @@
</itemizedlist>
<para>
- It is recommended that you do not use names like
- <literal>1e</literal>, because an expression like
- <literal>1e+1</literal> is ambiguous. It might be interpreted as the
- expression <literal>1e + 1</literal> or as the number
- <literal>1e+1</literal>, depending on context.
+ It is recommended that you do not use names of the pattern
+
<literal><replaceable>X</replaceable>e<replaceable>X</replaceable></literal>,
+ such as <literal>1e</literal> or <literal>2e2</literal>,
because an
+ expression like <literal>1e+1</literal> is ambiguous. It might be
+ interpreted as the expression <literal>1e + 1</literal> or as the
+ number <literal>1e+1</literal>, depending on context.
+ </para>
+
+ <para>
+ Be careful when using <literal>MD5</literal> to produce table names,
+ as it can produce illegal tables names such as the ones listed above.
</para>
<section id="identifier-qualifiers">
@@ -1915,9 +1921,9 @@
</para></listitem>
<listitem><para>
- From a '<literal>-- </literal>' sequence to the end of the line.
+ From a '<literal>-- </literal>' sequence to the end of the line.
This style is supported as of MySQL 3.23.3. Note that the
- '<literal>-- </literal>' (double-dash) comment style requires the
+ '<literal>-- </literal>' (double-dash) comment style requires the
second dash to be followed by at least one space (or by a control
character such as a newline). This syntax differs slightly from
standard SQL comment syntax, as discussed in
--- 1.25/refman/news.xml 2005-06-23 07:50:28 -06:00
+++ 1.26/refman/news.xml 2005-06-23 16:01:06 -06:00
@@ -246,15 +246,20 @@
for prepared statements. (Bug #8367, Bug #9334)
</para></listitem>
- <listitem>
- <para>Where a <literal>GROUP BY</literal> query uses a grouping
- column from the query's <literal>SELECT</literal> clause, MySQL
- now issues a warning. This is because the SQL standard states that
- any grouping column must unambiguously reference a column of the
- table resulting from the query's <literal>FROM</literal> clause,
- and allowing columns from the <literal>SELECT</literal> clause to
- be used as grouping columns is a MySQL extension to the standard.</para>
- <para>By way of example, consider the following two tables:</para>
+ <listitem><para>
+ Where a <literal>GROUP BY</literal> query uses a grouping column
+ from the query's <literal>SELECT</literal> clause, MySQL now issues
+ a warning. This is because the SQL standard states that any
+ grouping column must unambiguously reference a column of the table
+ resulting from the query's <literal>FROM</literal> clause, and
+ allowing columns from the <literal>SELECT</literal> clause to be
+ used as grouping columns is a MySQL extension to the standard.
+ </para>
+
+ <para>
+ By way of example, consider the following two tables:
+ </para>
+
<programlisting>
CREATE TABLE users (
userid INT NOT NULL PRIMARY KEY,
@@ -262,35 +267,50 @@
usergroupid INT NOT NULL
);
</programlisting>
- <para>MySQL allows you to use the alias in this query:</para>
+
+ <para>
+ MySQL allows you to use the alias in this query:
+ </para>
+
<programlisting>
SELECT usergroupid AS id, COUNT(userid) AS number_of_users
FROM groups
GROUP BY id;
</programlisting>
- <para>However, the SQL standard requires the the column name be
- used, as shown here:</para>
+
+ <para>
+ However, the SQL standard requires the the column name be used, as
+ shown here:
+ </para>
+
<programlisting>
SELECT usergroupid AS id, COUNT(userid) AS number_of_users
FROM groups
GROUP BY userid;
</programlisting>
- <para>Queries such as the first of the two shown above will
- continue to be supported in MySQL; however, beginning with MySQL
- 5.0.8, using a column alias in this fashion will generate a
- warning. Note that in the event of a collision between column
- names and/or aliases used in joins, MySQL attempts to resolve the
- conflict by giving preference to columns arising from tables named
- in the query's <literal>FROM</literal> clause. (Bug
#11211)</para>
- </listitem>
- <listitem>
- <para>The granting or revocation of privileges on a stored routine
- is no longer performed when running the server with
- <literal>--skip-grant-tables</literal> even after the statement
- <literal>SET @@global.automatic_sp_privileges=1;</literal> has
- been executed. (Bug #9993)</para>
- </listitem>
+ <para>
+ Queries such as the first of the two shown above will continue to
+ be supported in MySQL; however, beginning with MySQL 5.0.8, using a
+ column alias in this fashion will generate a warning. Note that in
+ the event of a collision between column names and/or aliases used
+ in joins, MySQL attempts to resolve the conflict by giving
+ preference to columns arising from tables named in the query's
+ <literal>FROM</literal> clause. (Bug #11211)
+ </para></listitem>
+
+ <listitem><para>
+ The granting or revocation of privileges on a stored routine is no
+ longer performed when running the server with
+ <literal>--skip-grant-tables</literal> even after the statement
+ <literal>SET @@global.automatic_sp_privileges=1;</literal> has been
+ executed. (Bug #9993)
+ </para></listitem>
+
+ <listitem><para>
+ Added support for <literal>B'10'</literal> syntax for bit literal.
+ (Bug #10650)
+ </para></listitem>
</itemizedlist>
@@ -303,10 +323,10 @@
<!-- NOTE: No need to start every item with "Fixed..."; sufficient to
describe the issue that was fixed. Use past tense. -->
-
- <!-- TODO: Uncomment the following item when pushed to the 5.0
+<!-- TODO: Uncomment the following item when pushed to the 5.0
tree; move to 5.0.9 bugfixes if necessary. -->
- <!--
+
+<!--
<listitem>
<para>Queries of the form <literal>UPDATE ... (SELECT ... ) SET
...</literal> run on a replication master would crash all the
@@ -314,62 +334,112 @@
</listitem>
-->
- <listitem>
- <para><emphasis role="bold">Security fix</emphasis>: On Windows
- systems, a user with any of the following privileges
- <itemizedlist>
-
<listitem><para><literal>REFERENCES</literal></para></listitem>
- <listitem><para><literal>CREATE TEMPORARY
TABLES</literal></para></listitem>
- <listitem><para><literal>GRANT
OPTION</literal></para></listitem>
-
<listitem><para><literal>CREATE</literal></para></listitem>
-
<listitem><para><literal>SELECT</literal></para></listitem>
- </itemizedlist>
- on <literal>*.*</literal> could crash
<literal>mysqld</literal> by
- issuing a <literal>USE LPT1;</literal> or <literal>USE
- PRN;</literal> command. In addition, any of the commands
- <literal>USE NUL;</literal>, <literal>USE CON;</literal>,
- <literal>USE COM1;</literal>, or <literal>USE
AUX;</literal> would
- report success even though the database was not in fact changed.
- <emphasis role="bold">Note</emphasis>: Although this bug was
- thought to be fixed previously, it was later discovered to be
- present in the MySQL 5.0.7-beta release for Windows. (Bug #9148,
- <ulink
url="http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799">CAN-2005-0799</ulink></para>
- </listitem>
+ <listitem><para>
+ <literal>sql_data_access</literal> column of
+ <literal>routines</literal> table of
+ <literal>INFORMATION_SCHEMA</literal> was empty. (Bug #11055)
+ </para></listitem>
- <listitem>
- <para>An issue with index merging could cause suboptimal index
- merge plans to be chosen when searching by indexes created on
- <literal>DATE</literal> columns. The same issue caused the InnoDB
- storage engine to issue the warning <literal>using a partial-field
- key prefix in search</literal>. (Bug #8441)</para>
- </listitem>
+ <listitem><para>
+ A <literal>CAST()</literal> value could not be included in a
+ <literal>VIEW</literal>. (Bug #11387)
+ </para></listitem>
- <listitem>
- <para>The <literal>mysqlhotcopy</literal> script was not parsing
- the output of <literal>SHOW SLAVE STATUS</literal> correctly when
- called with the <literal>--record_log_pos</literal> option.
- (Bug #7967)</para>
- </listitem>
+ <listitem><para>
+ Server crashed when using <literal>GROUP BY</literal> on the result
+ of a <literal>DIV</literal> operation on a
+ <literal>DATETIME</literal> value. (Bug #11385)
+ </para></listitem>
- <listitem>
- <para><literal>SELECT * FROM
<replaceable>table</replaceable></literal>
- returned incorrect results when called from a stored procedure,
- where <replaceable>table</replaceable> had a primary key.
- (Bug #10136)</para>
- </listitem>
+ <listitem><para>
+ Possible <literal>NULL</literal> values in
<literal>BLOB</literal>
+ columns could crash server when <literal>BLOB</literal> used in
+ <literal>GROUP BY</literal>. (Bug #11295)
+ </para></listitem>
- <listitem>
- <para>When used in defining a view, the
<literal>TIME_FORMAT()</literal>
- function failed with calculated values, for example, when passed
- the value returned by <literal>SEC_TO_TIME()</literal>. (Bug #7521)
- </para>
- </listitem>
+ <listitem><para>
+ Fixed 64 bit compiler warning for packet length in replication.
+ (Bug #11064)
+ </para></listitem>
- <listitem>
- <para><literal>SELECT DISTINCT ... GROUP BY
- <replaceable>constant</replaceable></literal> returned multiple
- rows (it should return a single row). (Bug #8614)</para>
- </listitem>
+ <listitem><para>
+ Multiple range accesses in a subquery cause server crash. (Bug
+ #11487)
+ </para></listitem>
+
+ <listitem><para>
+ <emphasis role="bold">Security fix</emphasis>: On Windows systems,
+ a user with any of the following privileges
+
+ <itemizedlist>
+
+ <listitem><para>
+ <literal>REFERENCES</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CREATE TEMPORARY TABLES</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>GRANT OPTION</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CREATE</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>SELECT</literal>
+ </para></listitem>
+
+ </itemizedlist>
+
+ on <literal>*.*</literal> could crash
<literal>mysqld</literal> by
+ issuing a <literal>USE LPT1;</literal> or <literal>USE
+ PRN;</literal> command. In addition, any of the commands
+ <literal>USE NUL;</literal>, <literal>USE CON;</literal>,
+ <literal>USE COM1;</literal>, or <literal>USE AUX;</literal>
would
+ report success even though the database was not in fact changed.
+ <emphasis role="bold">Note</emphasis>: Although this bug was
+ thought to be fixed previously, it was later discovered to be
+ present in the MySQL 5.0.7-beta release for Windows. (Bug #9148,
+ <ulink
url="http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799">CAN-2005-0799</ulink>
+ </para></listitem>
+
+ <listitem><para>
+ An issue with index merging could cause suboptimal index merge
+ plans to be chosen when searching by indexes created on
+ <literal>DATE</literal> columns. The same issue caused the InnoDB
+ storage engine to issue the warning <literal>using a partial-field
+ key prefix in search</literal>. (Bug #8441)
+ </para></listitem>
+
+ <listitem><para>
+ The <literal>mysqlhotcopy</literal> script was not parsing the
+ output of <literal>SHOW SLAVE STATUS</literal> correctly when
+ called with the <literal>--record_log_pos</literal> option. (Bug
+ #7967)
+ </para></listitem>
+
+ <listitem><para>
+ <literal>SELECT * FROM
<replaceable>table</replaceable></literal>
+ returned incorrect results when called from a stored procedure,
+ where <replaceable>table</replaceable> had a primary key. (Bug
+ #10136)
+ </para></listitem>
+
+ <listitem><para>
+ When used in defining a view, the <literal>TIME_FORMAT()</literal>
+ function failed with calculated values, for example, when passed
+ the value returned by <literal>SEC_TO_TIME()</literal>. (Bug #7521)
+ </para></listitem>
+
+ <listitem><para>
+ <literal>SELECT DISTINCT ... GROUP BY
+ <replaceable>constant</replaceable></literal> returned multiple
+ rows (it should return a single row). (Bug #8614)
+ </para></listitem>
<listitem><para>
<literal>INSERT INTO SELECT FROM
@@ -391,8 +461,8 @@
<listitem><para>
An <literal>ORDER BY</literal> clause sometimes had no effect on
the ordering of a result when selecting specific columns (as
- opposed to using <literal>SELECT *</literal>) from a view.
- (Bug #7422)
+ opposed to using <literal>SELECT *</literal>) from a view. (Bug
+ #7422)
</para></listitem>
<listitem><para>
@@ -512,16 +582,16 @@
#10729)
</para></listitem>
- <listitem>
- <para>MySQL Cluster: Connections between data nodes and management
- nodes were not being closed following shutdown of
- <literal>ndb_mgmd</literal>. (Bug #11132)</para>
- </listitem>
+ <listitem><para>
+ MySQL Cluster: Connections between data nodes and management nodes
+ were not being closed following shutdown of
+ <literal>ndb_mgmd</literal>. (Bug #11132)
+ </para></listitem>
<listitem><para>
- MySQL Cluster: <literal>mysqld</literal> processes would not reconnect
- to cluster following restart of <literal>ndb_mgmd</literal>.
- (Bug #11221)
+ MySQL Cluster: <literal>mysqld</literal> processes would not
+ reconnect to cluster following restart of
+ <literal>ndb_mgmd</literal>. (Bug #11221)
</para></listitem>
<listitem><para>
@@ -574,19 +644,18 @@
in an infinite timeout. (Bug #11290)
</para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Enforce maximum
- <literal>CHAR_LENGTH()</literal> of UTF-8 data in <literal>ON
- UPDATE CASCADE</literal>. (Bug #10409)
- </para>
- </listitem>
+ <listitem><para>
+ <literal>InnoDB</literal>: Enforce maximum
+ <literal>CHAR_LENGTH()</literal> of UTF-8 data in <literal>ON
+ UPDATE CASCADE</literal>. (Bug #10409)
+ </para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Pad UTF-8 variable-length
- <literal>CHAR</literal> columns with
<literal>0x20</literal>. Pad
- UCS2 <literal>CHAR</literal> columns with
- <literal>0x0020</literal>. (Bug #10511)</para>
- </listitem>
+ <listitem><para>
+ <literal>InnoDB</literal>: Pad UTF-8 variable-length
+ <literal>CHAR</literal> columns with
<literal>0x20</literal>. Pad
+ UCS2 <literal>CHAR</literal> columns with
+ <literal>0x0020</literal>. (Bug #10511)
+ </para></listitem>
</itemizedlist>
@@ -687,35 +756,35 @@
<itemizedlist>
- <listitem>
- <para>The <literal>LAST_DAY()</literal> failed to return
- <literal>NULL</literal> when supplied with an invalid argument.
- See <xref linkend="date-and-time-functions"/>. (Bug #10568)</para>
- </listitem>
+ <listitem><para>
+ The <literal>LAST_DAY()</literal> failed to return
+ <literal>NULL</literal> when supplied with an invalid argument. See
+ <xref linkend="date-and-time-functions"/>. (Bug #10568)
+ </para></listitem>
- <listitem>
- <para>The functions <literal>COALESCE()</literal>,
- <literal>IF()</literal>, and <literal>IFNULL()</literal>
performed
- incorrect conversions of their arguments. (Bug #9939)</para>
- </listitem>
+ <listitem><para>
+ The functions <literal>COALESCE()</literal>,
+ <literal>IF()</literal>, and <literal>IFNULL()</literal>
performed
+ incorrect conversions of their arguments. (Bug #9939)
+ </para></listitem>
- <listitem>
- <para>The <literal>TIME_FORMAT()</literal> function returned
- incorrect results with some format specifiers. See
- <xref linkend="date-and-time-functions"/>. (Bug #10590)</para>
- </listitem>
+ <listitem><para>
+ The <literal>TIME_FORMAT()</literal> function returned incorrect
+ results with some format specifiers. See
+ <xref linkend="date-and-time-functions"/>. (Bug #10590)
+ </para></listitem>
- <listitem>
- <para>Dropping stored routines when the MySQL server had been
- started with <literal>--skip-grant-tables</literal> generated
- extraneous warnings. (Bug #9993)</para>
- </listitem>
+ <listitem><para>
+ Dropping stored routines when the MySQL server had been started
+ with <literal>--skip-grant-tables</literal> generated extraneous
+ warnings. (Bug #9993)
+ </para></listitem>
- <listitem>
- <para>A problem with the <filename>my_global.h</filename> file
- caused compilation of MySQL to fail on single-processor Linux
- systems running 2.6 kernels. (Bug #10364)</para>
- </listitem>
+ <listitem><para>
+ A problem with the <filename>my_global.h</filename> file caused
+ compilation of MySQL to fail on single-processor Linux systems
+ running 2.6 kernels. (Bug #10364)
+ </para></listitem>
<listitem><para>
The ucs2_turkish_ci collation failed with upper('i'). UPPER/LOWER
@@ -4377,15 +4446,15 @@
<itemizedlist>
- <listitem>
- <para>System variables are now treated as having
- <literal>SYSVAR</literal> (system constant) coercibility. For
- example, <literal>@@version</literal> is now treated like
- <literal>VERSION()</literal> and
- <literal>@@character_set_client</literal> is now treated like
- <literal>CHARSET( USER() )</literal>. See
- <xref linkend="charset-collate-tricky"/>. (Bug #10904)</para>
- </listitem>
+ <listitem><para>
+ System variables are now treated as having
+ <literal>SYSVAR</literal> (system constant) coercibility. For
+ example, <literal>@@version</literal> is now treated like
+ <literal>VERSION()</literal> and
+ <literal>@@character_set_client</literal> is now treated like
+ <literal>CHARSET( USER() )</literal>. See
+ <xref linkend="charset-collate-tricky"/>. (Bug #10904)
+ </para></listitem>
<listitem><para>
Added the <option>--log-slow-admin-statements</option> server
@@ -4416,24 +4485,25 @@
for prepared statements. (Bug #8367, Bug #9334)
</para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Various optimizations. Removed
- unreachable debug code from non-debug builds. Added hints for the
- branch predictor in GCC. Made assertions occupy less space.</para>
- </listitem>
+ <listitem><para>
+ <literal>InnoDB</literal>: Various optimizations. Removed
+ unreachable debug code from non-debug builds. Added hints for the
+ branch predictor in GCC. Made assertions occupy less space.
+ </para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Make
- <literal>innodb_thread_concurrency=20</literal> by default. Bypass
- the concurrency checking if the setting is greater than or equal
- to 20.</para>
- </listitem>
+ <listitem><para>
+ <literal>InnoDB</literal>: Make
+ <literal>innodb_thread_concurrency=20</literal> by default. Bypass
+ the concurrency checking if the setting is greater than or equal to
+ 20.
+ </para></listitem>
- <listitem>
- <para><literal>InnoDB</literal>: Make <literal>CHECK
- TABLE</literal> killable. (Bug #9730)</para>
- </listitem>
- </itemizedlist>
+ <listitem><para>
+ <literal>InnoDB</literal>: Make <literal>CHECK
TABLE</literal>
+ killable. (Bug #9730)
+ </para></listitem>
+
+ </itemizedlist>
<para>
Bugs fixed:
@@ -4444,36 +4514,81 @@
<!-- NOTE: No need to start every item with "Fixed..."; sufficient to
describe the issue that was fixed. Use past tense. -->
- <listitem>
- <para><emphasis role="bold">Security fix</emphasis>: On Windows
- systems, a user with any of the following privileges
- <itemizedlist>
-
<listitem><para><literal>REFERENCES</literal></para></listitem>
- <listitem><para><literal>CREATE TEMPORARY
TABLES</literal></para></listitem>
- <listitem><para><literal>GRANT
OPTION</literal></para></listitem>
-
<listitem><para><literal>CREATE</literal></para></listitem>
-
<listitem><para><literal>SELECT</literal></para></listitem>
- </itemizedlist>
- on <literal>*.*</literal> could crash
<literal>mysqld</literal> by
- issuing a <literal>USE LPT1;</literal> or <literal>USE
- PRN;</literal> command. In addition, any of the commands
- <literal>USE NUL;</literal>, <literal>USE CON;</literal>,
- <literal>USE COM1;</literal>, or <literal>USE
AUX;</literal> would
- report success even though the database was not in fact changed.
- (Bug #9148,
- <ulink
url="http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799">CAN-2005-0799</ulink></para>
- </listitem>
+ <listitem><para>
+ Server crashed when using <literal>GROUP BY</literal> on the result
+ of a <literal>DIV</literal> operation on a
+ <literal>DATETIME</literal> value. (Bug #11385)
+ </para></listitem>
- <listitem>
- <para>A problem with the <filename>my_global.h</filename> file
- caused compilation of MySQL to fail on single-processor Linux
- systems running 2.6 kernels. (Bug #10364)</para>
- </listitem>
+ <listitem><para>
+ Possible <literal>NULL</literal> values in
<literal>BLOB</literal>
+ columns could crash server when <literal>BLOB</literal> used in
+ <literal>GROUP BY</literal>. (Bug #11295)
+ </para></listitem>
+
+ <listitem><para>
+ Fixed 64 bit compiler warning for packet length in replication.
+ (Bug #11064)
+ </para></listitem>
+
+ <listitem><para>
+ <emphasis role="bold">Security fix</emphasis>: On Windows systems,
+ a user with any of the following privileges
+
+ <itemizedlist>
+
+ <listitem><para>
+ <literal>REFERENCES</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CREATE TEMPORARY TABLES</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>GRANT OPTION</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CREATE</literal>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>SELECT</literal>
+ </para></listitem>
+
+ </itemizedlist>
+
+ on <literal>*.*</literal> could crash
<literal>mysqld</literal> by
+ issuing a <literal>USE LPT1;</literal> or <literal>USE
+ PRN;</literal> command. In addition, any of the commands
+ <literal>USE NUL;</literal>, <literal>USE CON;</literal>,
+ <literal>USE COM1;</literal>, or <literal>USE AUX;</literal>
would
+ report success even though the database was not in fact changed.
+ (Bug #9148,
+ <ulink
url="http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799">CAN-2005-0799</ulink>
+ </para></listitem>
+
+ <listitem><para>
+ <literal>CASE</literal> function returns incorrect result when its
+ arguments are not constants and its return value is put into a
+ regular or temporary table (temporary == created by SQL engine for
+ <literal>UNION</literal>/non-indexed <literal>GROUP
BY</literal>
+ and such operations). (Bug #10151)
+ </para></listitem>
+
+ <listitem><para>
+ A problem with the <filename>my_global.h</filename> file caused
+ compilation of MySQL to fail on single-processor Linux systems
+ running 2.6 kernels. (Bug #10364)
+ </para></listitem>
+
+ <listitem><para>
+ Queries against a table using a compound index based on the length
+ of a UTF-8 text column produced incorrect results. For example,
+ given a table with an index defined as shown:
+ </para>
- <listitem>
- <para>Queries against a table using a compound index based on the
- length of a UTF-8 text column produced incorrect results. For
- example, given a table with an index defined as shown:</para>
<programlisting>
CREATE TABLE t (
id INT NOT NULL,
@@ -4481,45 +4596,47 @@
KEY (city(7),id)
) TYPE=MYISAM CHARACTER SET=utf8;
</programlisting>
- <para>Assuming that suitable data has been inserted into the
- table, then a query such as <literal>SELECT * FROM t WHERE city =
- 'Durban';</literal> would fail. (Bug #10253)</para>
- </listitem>
- <listitem>
- <para>The <literal>mysqlhotcopy</literal> script was not parsing
- the output of <literal>SHOW SLAVE STATUS</literal> correctly when
- called with the <literal>--record_log_pos</literal> option.
- (Bug #7967)</para>
- </listitem>
+ <para>
+ Assuming that suitable data has been inserted into the table, then
+ a query such as <literal>SELECT * FROM t WHERE city =
+ 'Durban';</literal> would fail. (Bug #10253)
+ </para></listitem>
- <listitem>
- <para>An <literal>UPDATE</literal> query containing a subselect
- caused replication to fail. (Bug #9361)</para>
- </listitem>
+ <listitem><para>
+ The <literal>mysqlhotcopy</literal> script was not parsing the
+ output of <literal>SHOW SLAVE STATUS</literal> correctly when
+ called with the <literal>--record_log_pos</literal> option. (Bug
+ #7967)
+ </para></listitem>
- <listitem>
- <para>Last insert expected from a query of the form <literal>INSERT
- ... SELECT ... ON DUPLICATE KEY UPDATE</literal> would fail.
- (Bug #9728)</para>
- </listitem>
+ <listitem><para>
+ An <literal>UPDATE</literal> query containing a subselect caused
+ replication to fail. (Bug #9361)
+ </para></listitem>
- <listitem>
- <para><literal>INSERT ... SELECT ... ON DUPLICATE KEY
UPDATE</literal>
- produced inaccurate results. (Bug #10886)</para>
- </listitem>
+ <listitem><para>
+ Last insert expected from a query of the form <literal>INSERT ...
+ SELECT ... ON DUPLICATE KEY UPDATE</literal> would fail. (Bug
+ #9728)
+ </para></listitem>
- <listitem>
- <para><literal>SELECT DISTINCT ... GROUP BY
- <replaceable>constant</replaceable></literal> returned multiple
- rows (it should return a single row). (Bug #8614)</para>
- </listitem>
+ <listitem><para>
+ <literal>INSERT ... SELECT ... ON DUPLICATE KEY UPDATE</literal>
+ produced inaccurate results. (Bug #10886)
+ </para></listitem>
- <listitem>
- <para>Queries of the form <literal>UPDATE ... (SELECT ... ) SET
- ...</literal> run on a replication master would crash all the
- slaves. (Bug #10442)</para>
- </listitem>
+ <listitem><para>
+ <literal>SELECT DISTINCT ... GROUP BY
+ <replaceable>constant</replaceable></literal> returned multiple
+ rows (it should return a single row). (Bug #8614)
+ </para></listitem>
+
+ <listitem><para>
+ Queries of the form <literal>UPDATE ... (SELECT ... ) SET
+ ...</literal> run on a replication master would crash all the
+ slaves. (Bug #10442)
+ </para></listitem>
<listitem><para>
<literal>OPTIMIZE</literal> of InnoDB table did not return 'Table
@@ -10818,17 +10935,17 @@
<itemizedlist>
- <listitem>
- <para>A problem with the <filename>my_global.h</filename> file
- caused compilation of MySQL to fail on single-processor Linux
- systems running 2.6 kernels. (Bug #10364)</para>
- </listitem>
+ <listitem><para>
+ A problem with the <filename>my_global.h</filename> file caused
+ compilation of MySQL to fail on single-processor Linux systems
+ running 2.6 kernels. (Bug #10364)
+ </para></listitem>
- <listitem>
- <para>A problem with the <filename>my_global.h</filename> file
- caused compilation of MySQL to fail on single-processor Linux
- systems running 2.6 kernels. (Bug #10364)</para>
- </listitem>
+ <listitem><para>
+ A problem with the <filename>my_global.h</filename> file caused
+ compilation of MySQL to fail on single-processor Linux systems
+ running 2.6 kernels. (Bug #10364)
+ </para></listitem>
<listitem><para>
Fixed a portability problem testing for <literal>crypt()</literal>
@@ -32296,11 +32413,11 @@
</para></listitem>
<listitem><para>
- (Bug #10711) (Bug #9363) (Bug #8918) (Bug #10058) (Bug #9025) Cluster
- would time out and crash after first query; setting DataMemory to
- more than 2GB prevented cluster from starting; calling
- <literal>ndb_select_count()</literal> crashed the cluster. (64-bit
- Unix OSes)
+ (Bug #10711) (Bug #9363) (Bug #8918) (Bug #10058) (Bug #9025)
+ Cluster would time out and crash after first query; setting
+ DataMemory to more than 2GB prevented cluster from starting;
+ calling <literal>ndb_select_count()</literal> crashed the cluster.
+ (64-bit Unix OSes)
</para></listitem>
</itemizedlist>
@@ -32542,11 +32659,11 @@
<itemizedlist>
- <listitem>
- <para>(Bug #11132) Connections between data nodes and management
- nodes were not being closed following shutdown of
- <literal>ndb_mgmd</literal>.</para>
- </listitem>
+ <listitem><para>
+ (Bug #11132) Connections between data nodes and management nodes
+ were not being closed following shutdown of
+ <literal>ndb_mgmd</literal>.
+ </para></listitem>
<listitem><para>
(Bug #11050) <literal>ndb_mgm> show</literal> printed
@@ -32575,11 +32692,11 @@
</para></listitem>
<listitem><para>
- (Bug #8918) (Bug #9363) (Bug #10711) (Bug #10058) (Bug #9025) Cluster
- would time out and crash after first query; setting DataMemory to
- more than 2GB prevented cluster from starting; calling
- <literal>ndb_select_count()</literal> crashed the cluster. (64-bit
- Unix OSes)
+ (Bug #8918) (Bug #9363) (Bug #10711) (Bug #10058) (Bug #9025)
+ Cluster would time out and crash after first query; setting
+ DataMemory to more than 2GB prevented cluster from starting;
+ calling <literal>ndb_select_count()</literal> crashed the cluster.
+ (64-bit Unix OSes)
</para></listitem>
<listitem><para>
@@ -32606,8 +32723,8 @@
</para></listitem>
<listitem><para>
- (Bug #11290) Setting TransactionInactiveTimeout= 0 did not result in
- an infinite timeout.
+ (Bug #11290) Setting TransactionInactiveTimeout= 0 did not result
+ in an infinite timeout.
</para></listitem>
</itemizedlist>
| Thread |
|---|
| • bk commit - mysqldoc@docsrva tree (Mike.Hillyer:1.2866) | mhillyer | 24 Jun |