Functionality added or changed:
MySQL Cluster:
The NDBCLUSTER
storage engine now
supports INSERT
IGNORE
and REPLACE
statements. Previously, these statements failed with an error.
(Bug#17431)
Replication:
Triggers from older servers that included no
DEFINER
clause in the trigger definition now
execute with the privileges of the invoker (which on the slave
is the slave SQL thread). Previously, replication slaves could
not replicate such triggers.
(Bug#16266)
Builds for Windows, Linux, and Unix (except AIX) platforms now have SSL support enabled, in the server as well as in the client libraries. Because part of the SSL code is written in C++, this does introduce dependencies on the system's C++ runtime libraries in several cases, depending on compiler specifics. (Bug#18195)
Large file support added to build for QNX
platform.
(Bug#17336)
InnoDB
: The InnoDB
storage
engine now provides a descriptive error message if
ibdata
file information is omitted from
my.cnf
.
(Bug#16827)
Added the --sysdate-is-now
option
to mysqld to enable
SYSDATE()
to be treated as an
alias for NOW()
. See
Section 11.6, “Date and Time Functions”.
(Bug#15101)
Large file support was re-enabled for the MySQL server binary for the AIX 5.2 platform. (Bug#13571)
The syntax for CREATE PROCEDURE
and CREATE FUNCTION
statements
now includes a DEFINER
clause. The
DEFINER
value specifies the security context
to be used when checking access privileges at routine invocation
time if the routine has the SQL SECURITY
DEFINER
characteristic. See
Section 12.1.9, “CREATE PROCEDURE
and
CREATE FUNCTION
Syntax”, for more information.
When mysqldump is invoked with the
--routines
option, it now
dumps the DEFINER
value for stored routines.
Bugs fixed:
MySQL Cluster:
A timeout in the handling of an ABORT
condition with more that 32 operations could yield a node
failure.
(Bug#18414)
MySQL Cluster:
A node restart immediately following a
CREATE TABLE
would fail.
This fix supports 2-node Clusters only.
MySQL Cluster: In event of a node failure during a rollback, a “false” lock could be established on the backup for that node, which lock could not be removed without restarting the node. (Bug#18352)
MySQL Cluster: The cluster created a crashed replica of a table having an ordered index — or when logging was not enabled, of a table having a table or unique index — leading to a crash of the cluster following 8 successive restarts. (Bug#18298)
MySQL Cluster: When replacing a failed master node, the replacement node could cause the cluster to crash from a buffer overflow if it had an excessively large amount of data to write to the cluster log. (Bug#18118)
MySQL Cluster:
Certain queries using ORDER BY ... ASC
in the
WHERE
clause could return incorrect results.
(Bug#17729)
MySQL Cluster: If a mysql or other client could not parse the result set returned from a mysqld process acting as an SQL node in a cluster, the client would crash instead of returning the appropriate error. For example, this could happen when the client attempted to use a character set was not available to the mysqld. (Bug#17380)
MySQL Cluster: Some query cache statistics were not always correctly reported for Cluster tables. (Bug#16795)
MySQL Cluster: Restarting nodes were allowed to start and join the cluster too early. (Bug#16772)
MySQL Cluster:
Inserting and deleting BLOB
column values while a backup was in process could cause data
nodes to shut down.
(Bug#14028)
MySQL Cluster:
The server would not compile with
NDB
support on AIX 5.2.
(Bug#10776)
Replication:
Use of TRUNCATE TABLE
for a
TEMPORARY
table on a master server was
propagated to slaves properly, but slaves did not decrement the
Slave_open_temp_tables
counter
properly.
(Bug#17137)
Replication:
The DEFINER
value for stored routines was not
replicated.
(Bug#15963)
A SELECT ... ORDER BY ...
from a view defined
using a function could crash the server. An example of such a
view is CREATE VIEW v1 AS SELECT SQRT(c1) FROM
t1
.
(Bug#18386)
InnoDB
had a memory leak for duplicate-key
errors with tables having 90 columns or more.
(Bug#18384)
A DELETE
using a subquery could
crash the server.
(Bug#18306)
If a row was inserted inside a stored procedure using the parameters passed to the procedure in the INSERT statement, the resulting binary log entry was not escaped properly. (Bug#18293)
If InnoDB
encountered a
HA_ERR_LOCK_TABLE_FULL
error and rolled back
a transaction, the transaction was still written to the binary
log.
(Bug#18283)
When using ORDER BY
with a nonstring column
inside GROUP_CONCAT()
the
result's character set was converted to binary.
(Bug#18281)
See also Bug#14169.
Complex queries with nested joins could cause a server crash. (Bug#18279)
For InnoDB
tables created in MySQL 4.1 or
earlier, or created in 5.0 or later with compact format,
updating a row so that a long column is updated or the length of
some column changes, InnoDB
later would fail
to reclaim the BLOB
storage space
if the row was deleted.
(Bug#18252)
If InnoDB
ran out of buffer space for row
locks and adaptive hashes, the server would crash. Now
InnoDB
rolls back the transaction.
(Bug#18238)
Views that incorporated tables from the
INFORMATION_SCHEMA
database resulted in a
server crash when queried.
(Bug#18224)
REPAIR TABLE
,
OPTIMIZE TABLE
, and
ALTER TABLE
operations on
transactional tables (or on tables of any type on Windows) could
corrupt triggers associated with those tables.
(Bug#18153)
The server could deadlock under heavy load while writing to the binary log. (Bug#18116)
A SELECT *
query on an
INFORMATION_SCHEMA
table by a user with
limited privileges resulted in a server crash.
(Bug#18113)
Connecting to a server with a UCS2 default character set with a client using a non-UCS2 character set crashed the server. (Bug#18004)
MyISAM
: Performing a bulk insert on a table
referenced by a trigger would crash the table.
(Bug#17764)
Updating a view that filters certain rows to set a filtered out
row to be included in the table caused infinite loop. For
example, if the view has a WHERE clause of salary >
100
then issuing an UPDATE statement of SET
salary = 200 WHERE id = 10
, caused an infinite loop.
(Bug#17726)
MyISAM
: Keys for which the first part of the
key was a CHAR
or
VARCHAR
column using the UTF-8
character set and longer than 254 bytes could become corrupted.
(Bug#17705)
Updating the value of a Unicode
VARCHAR
column with the result
returned by a stored function would cause the insertion of ASCII
characters into the column instead of Unicode, even where the
function's return type was also declared as Unicode.
(Bug#17615)
For FEDERATED
tables, a
SELECT
statement with an
ORDER BY
clause did not return rows in the
proper order.
(Bug#17377)
SELECT ... WHERE
, when column
LIKE
'A%'column
had a key
and used the latin2_czech_cs
collation,
caused the wrong number of rows to be returned.
(Bug#17374)
A LEFT JOIN
with a
UNION
that selects literal values
could crash the server.
(Bug#17366)
Checks for permissions on database operations could be performed
in a case-insensitive manner (a user with permissions on
database MYDATABASE
could by accident get
permissions on database myDataBase
), if the
privilege data were still cached from a previous check.
(Bug#17279)
Stored procedures that call UDFs and pass local string variables caused server crashes. (Bug#17261)
If the WHERE
condition of a query contained
an OR
-ed FALSE
term, the
set of tables whose rows cannot serve for null-complements in
outer joins was determined incorrectly. This resulted in
blocking possible conversions of outer joins into joins by the
optimizer for such queries.
(Bug#17164)
InnoDB
tables with an adaptive hash blocked
other queries during CHECK TABLE
statements while the entire hash was checked. This could be a
long time for a large hash.
(Bug#17126)
Stored routine names longer than 64 characters were silently truncated. Now the limit is properly enforced and an error occurs. (Bug#17015)
InnoDB
: The LATEST FOREIGN KEY
ERROR
section in the output of
SHOW INNODB STATUS
was sometimes
formatted incorrectly, causing problems with scripts that parsed
the output of this statement.
(Bug#16814)
If the server was started with the
--skip-grant-tables
option, it
was impossible to create a trigger or a view without explicitly
specifying a DEFINER
clause.
(Bug#16777)
The FORMAT()
function returned an
incorrect result when the client's
character_set_connection
value
was utf8
.
(Bug#16678)
Using ORDER BY
within a stored procedure (where
intvar
intvar
is an integer variable or
expression) would crash the server.
The use of an integer i
in an
ORDER BY
clause for sorting the result by the
i
i
th
column is deprecated (and nonstandard). It should
not be used in new applications. See
Section 12.2.8, “SELECT
Syntax”.
Character set conversion of string constants for
UNION
of constant and table
column was not done when it was safe to do so.
(Bug#15949)
Triggers created in MySQL 5.0.16 and earlier could not be dropped after upgrading the server to 5.0.17 or later. (Bug#15921)
The mysql_close()
C API function
leaked handles for shared-memory connections on Windows.
(Bug#15846)
COUNT(DISTINCT
and
col1
,
col2
)COUNT(DISTINCT
CONCAT(
operations produced
different results if one of the columns was an indexed
col1
,
col2
))DECIMAL
column.
(Bug#15745)
A SELECT
using a function against
a nested view would crash the server.
(Bug#15683)
The server displayed garbage in the error message warning about
bad assignments to DECIMAL
columns or routine variables.
(Bug#15480)
During conversion from one character set to
ucs2
, multi-byte characters with no
ucs2
equivalent were converted to multiple
characters, rather than to 0x003F QUESTION
MARK
.
(Bug#15375)
Certain combinations of joins with mixed ON
and USING
claused caused unknown
column errors.
(Bug#15229)
SELECT COUNT(*)
for a
MyISAM
table could return different results
depending on whether an index was used.
(Bug#14980)
Attempting to access an InnoDB
table after
starting the server with
--skip-innodb
caused a server crash.
(Bug#14575)
Use of stored functions with DISTINCT
or
GROUP BY
can produce incorrect results when
ORDER BY
is also used.
(Bug#13575)
The server would execute stored routines that had a nonexistent definer. (Bug#13198)
mysql_config returned incorrect libraries on
x86_64
systems.
(Bug#13158)
Loading of UDFs in a statically linked MySQL caused a server crash. UDF loading is now blocked if the MySQL server is statically linked. (Bug#11835)
User Comments
Add your own comment.