Functionality added or changed:
Replication:
Multiple-table UPDATE
and
DELETE
statements that do not
affect any rows are now written to the binary log and will
replicate.
(Bug#13348, Bug#12844)
Range scans can now be performed for queries on VIEWs such as
column IN (<constants>)
and
column BETWEEN ConstantA AND ConstantB
.
(Bug#13317)
The limit of 255 characters on the input buffer for mysql on Windows has been lifted. The exact limit depends on what the system allows, but can be up to 64K characters. A typical limit is 16K characters. (Bug#12929)
Added the myisam_stats_method
,
which controls whether NULL
values in indexes
are considered the same or different when collecting statistics
for MyISAM
tables. This influences the query
optimizer as described in
Section 7.4.7, “MyISAM
Index Statistics Collection”.
(Bug#12232)
The CHAR()
function now takes
into account the character set and collation given by the
character_set_connection
and
collation_connection
system
variables. For an argument n
to
CHAR()
, the result is
n
mod 256 for single-byte character
sets. For multi-byte character sets,
n
must be a valid code point in the
character set. Also, the result string from
CHAR()
is checked for
well-formedness. For invalid arguments, or a result that is not
well-formed, MySQL generates a warning (or, in strict SQL mode,
an error).
(Bug#10504)
Re-enabled the
--delayed-insert
option for
mysqldump, which now checks for each table
dumped whether its storage engine supports
DELAYED
inserts.
(Bug#7815)
RENAME TABLE
now works for views
as well, as long as you do not try to rename a view into a
different database.
(Bug#5508)
Configure-time checking for the availability of multi-byte
macros and functions in the bundled readline
library. This improves handling of multi-byte character sets in
the mysql client.
(Bug#3982)
When an InnoDB
foreign key constraint is
violated, the error message now indicates which table, column,
and constraint names are involved.
(Bug#3443)
Bugs fixed:
MySQL Cluster:
A trigger updating the value of an
AUTO_INCREMENT
column in an
NDB
table would insert an error
code rather than the expected value into the column.
(Bug#13961)
MySQL Cluster: If ndb_restore could not find a free mysqld process, it crashed. (Bug#13512)
MySQL Cluster: Adding an index to a table with a large number of columns (more then 100) crashed the storage node. (Bug#13316)
MySQL Cluster:
BIT
columns and following columns
in NDB
tables were corrupt when
dumped by mysqldump.
(Bug#13152)
MySQL Cluster:
Queries on NDB
tables that were
executed using index_merge
could produce incorrect results.
(Bug#13081)
MySQL Cluster:
Receipt of several ENTER SINGLE USER MODE
commands by multiple ndb_mgmd processes
within a short period of time resulted in cluster shutdown.
(Bug#13053)
MySQL Cluster: Multiple ndb_mgmd processes in a cluster did not know each other's IP addresses. (Bug#12037)
MySQL Cluster:
With two mgmd processes in a cluster,
ndb_mgm output for
SHOW
would display the same IP
address for both processes, even when they were on different
hosts.
(Bug#11595)
MySQL Cluster:
LOAD DATA
INFILE
with a large data file failed.
(Bug#10694)
MySQL Cluster:
When deleting a great many (tens of thousands of) rows at once
from an NDB
table, an improperly
dereferenced pointer could cause the mysqld
process to crash.
(Bug#9282)
Replication:
The --replicate-rewrite-db
and
--replicate-do-table
options did
not work for statements in which tables were aliased to names
other than those listed by the options.
(Bug#11139)
Certain joins using Range checked for each
record
in the query execution plan could cause the
server to crash.
(Bug#24776)
Joins nested under NATURAL
or
USING
joins were sometimes not initialized
properly, causing a server crash.
(Bug#13545)
After running configure with the
--with-embedded-privilege-control
option, the
embedded server failed to build.
(Bug#13501)
The optimizer chose a less efficient execution plan for
than for col_name
BETWEEN
const
AND
const
, even though the two
expressions are logically equivalent. Now the optimizer can use
the col_name
=
const
ref
access method for
both expressions.
(Bug#13455)
Locking a view with the query cache enabled and
query_cache_wlock_invalidate
enabled could cause a server crash.
(Bug#13424)
A HAVING
clause that references an
unqualified view column name could crash the server.
(Bug#13411)
The --skip-innodb-doublewrite
option disables
use of the InnoDB
doublewrite buffer.
However, having this option in effect when creating a new MySQL
installation prevented the buffer from even being created,
resulting in a server crash later.
(Bug#13367)
Calling the FORMAT()
function
with a DECIMAL
column value
caused a server crash when the value was
NULL
.
(Bug#13361)
Comparisons involving row constructors containing constants could cause a server crash. (Bug#13356)
Aggregate functions sometimes incorrectly were allowed in the
WHERE
clause of
UPDATE
and
DELETE
statements.
(Bug#13180)
NATURAL
joins and joins with
USING
against a view could return
NULL
rather than the correct value.
(Bug#13127)
For queries with DISTINCT
and WITH
ROLLUP
, the DISTINCT
should be
applied after the rollup operation, but was not always.
(Bug#12887)
It was possible to create a view that executed a stored function
for which you did not have the
EXECUTE
privilege.
(Bug#12812)
Shared-memory connections were not working on Windows. (Bug#12723)
The server was not rejecting
FLOAT(
or
M
,D
)DOUBLE(
columns specifications when M
,D
)M
was
less than D
.
(Bug#12694)
CHECKSUM TABLE
locked
InnoDB
tables and did not use a consistent
read.
(Bug#12669)
Incorrect creation of DECIMAL
local variables in a stored procedure could cause a server
crash.
(Bug#12589)
For queries for which the optimizer determined a join type of
“Range checked for each record” (as shown by
EXPLAIN
, the query sometimes
could cause a server crash, depending on the data distribution.
(Bug#12291)
After running configure with the
--without-server
option, the
distribution failed to build.
(Bug#11680, Bug#13550)
Use of a user-defined function within the
HAVING
clause of a query resulted in an
Unknown column
error.
(Bug#11553)
The server crashed when processing a view that invoked the
CONVERT_TZ()
function.
(Bug#11416)
When SELECT ... FOR
UPDATE
or
SELECT ... LOCK IN SHARE
MODE
for an InnoDB
table were
executed from within a stored function or a trigger, they were
converted to a nonlocking consistent read.
(Bug#11238)
Queries against a MERGE
table that has a
composite index could produce incorrect results.
(Bug#9112)
MySQL programs in binary distributions for Solaris 8/9/10 x86 systems would not run on Pentium III machines. (Bug#6772)
Nested handlers within stored procedures didn't work. (Bug#6127)
User Comments
Add your own comment.