Functionality added or changed:
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)
Better detection of connection timeout for replication servers
on Windows allows elimination of extraneous Lost
connection errors in the error log. (Bug#5588)
When using IF NOT EXISTS with
CREATE DATABASE or CREATE
TABLE, a warning now is generated if the database or
table already exists. (Bug#6008):
A new command line argument was added to mysqld to ignore client character set information sent during handshake, and use server side settings instead, to reproduce 4.0 behavior (Bug#9948):
mysqld --skip-character-set-client-handshake
Bugs fixed:
A prepared statement failed with Illegal mix of
collations if the client character set was
utf8 and the statement used a table that
had a character set of latin1. (Bug#12371)
If special characters such as '_' ,
'%', or the escape character were included
within the prefix of a column index, LIKE
pattern matching on the indexed column did not return the
correct result. (Bug#13046, Bug#13919)
NDBCluster: Updating a text-type column
during a cluster backup could cause the
ndbd process to crash, due to the incorrect
use of charset-normalized reads for. This could also lead to
“wrong” data in the backup if such a column was
updated during the backup; for example, supposing that the
column used latin_ci, then
“aAa” might be stored in the
backup as “AAA”. (Bug#12950)
NDBCluster: When performing a delete of a
great many (tens of thousands of) rows at once from a Cluster
table, an improperly dereferenced pointer could cause the
mysqld process to crash. (Bug#9282)
Server could over-allocate memory when performing a
FULLTEXT search for stopwords only. (Bug#13582)
UNION of two DECIMAL
columns returned wrong field type. (Bug#13372)
CHECKSUM TABLE locked
InnoDB tables and did not use a consistent
read. (Bug#12669)
SHOW CREATE TABLE did not display any
FOREIGN KEY clauses if a temporary file
could not be created. Now SHOW CREATE TABLE
displays an error message in an SQL comment if this occurs.
(Bug#13002)
Display of the AUTO_INCREMENT attribute by
SHOW CREATE TABLE was not controlled by the
NO_FIELD_OPTIONS SQL mode as it should have
been. (Bug#7977)
For VARCHAR columns with the
ucs2 character set,
InnoDB trimmed trailing
0x20 bytes rather than
0x0020 words, resulting in incorrect index
lookups later. (Bug#12178)
MySQL programs in binary distributions for Solaris 8/9/10 x86 systems would not run on Pentium III machines. (Bug#6772)
NDB Cluster: Multiple
ndb_mgmd processes in a cluster would not
know each other's IP addresses. (Bug#12037)
NDB 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)
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)
After running configure with the
--with-embedded-privilege-control option, the
embedded server failed to build. (Bug#13501)
Queries against a MERGE table that has a
composite index could produce incorrect results. (Bug#9112)
Comparisons involving row constructors containing constants could cause a server crash. (Bug#13356)
MySQL would pass an incorrect key length to storage engines
for MIN(). This could cause warnings such
as InnoDB: Warning: using a partial-field key prefix
in search. in the .err log.
(Bug#13218, same as Bug#11039 in MySQL 5.0.7)
NDB Cluster: LOAD DATA
INFILE with a large data file failed. (Bug#10694)
NDB Cluster: Adding an index to a table
with a large number of columns (more then 100) crashed the
storage node. (Bug#13316)
Aggregate functions sometimes incorrectly were allowed in the
WHERE clause of UPDATE
and DELETE statements. (Bug#13180)
MIN() and MAX()
sometimes returned a non-NULL value for an
empty row set (for example, SELECT MAX(1) FROM
empty_table). (Bug#12882)
LOAD DATA INFILE did not respect the
NO_AUTO_VALUE_ON_ZERO SQL mode setting.
(Bug#12053)
Use of a user-defined function within the
HAVING clause of a query resulted in an
Unknown column error. (Bug#11553)
The data type for DECIMAL columns was not
respected when updating the column from another column. For
example, updating a DECIMAL(10,1) column
with the value from a DECIMAL(10,5) column
resulted in a DECIMAL(10,5) value being
stored. Similarly, altering a column with a
DECIMAL(10,5) datatype to a
DECIMAL(10,1) data type did not properly
convert data values. (Bug#7598)
NDB: A cluster shutdown following the crash
of a data node would fail to terminate the remaining node
processes, even though ndb_mgm showed the
shutdown request as having been completed. (Bug#10938, Bug#9996, Bug#11623)
For queries with DISTINCT and WITH
ROLLUP, the DISTINCT should be
applied after the rollup operation, but was not always. (Bug#12887)
The counters for the Key_read_requests,
Key_reads,
Key_write_requests, and
Key_writes status variables were changed
from unsigned long to unsigned
longlong to accommodate larger values before the
variables roll over and restart from 0. (Bug#12920)
A column that can be NULL was not handled
properly for WITH ROLLUP in a subquery or
view. (Bug#12885)
Shared-memory connections were not working on Windows. (Bug#12723)
A concurrency problem for CREATE ... SELECT
could cause a server crash. (Bug#12845)
Performing an IS NULL check on the
MIN() or MAX() of an
indexed column in a complex query could produce incorrect
results. (Bug#12695)
The NDB START BACKUP command could be
interrupted by a SHOW command. (Bug#13054)
The LIKE ... ESCAPE syntax produced invalid
results when escape character was larger than one byte. (Bug#12611)
A client connection thread cleanup problem caused the server to crash when closing the connection if the binary log was enabled. (Bug#12517)
CHECKSUM TABLE command returned incorrect
results for tables with deleted rows. After upgrading, users
who used stored checksum information to detect table changes
should rebuild their checksum data. (Bug#12296)
The value of character_set_results could be
set to NULL, but returned the string
"NULL" when retrieved. (Bug#12363)
GROUP_CONCAT() ignored an empty string if
it was the first value to occur in the result. (Bug#12863)
Outer join elimination was erroneously applied for some
queries that used a NOT BETWEEN condition,
an
IN(
condition, or an value_list)IF() condition. (Bug#12101, Bug#12102)
Reverted a change introduced in MySQL 4.1.13 to fix a problem
of SHOW FIELDS truncating the
TYPE column to 40 characters. This fix was
reverted for MySQL 4.1 because it broke existing applications.
The fix will be made to MySQL 5.0 instead (5.0.13). (Bug#7142, Bug#12817)
On HP-UX 11.x (PA-RISC), the -L option caused
mysqlimport to crash. (Bug#12958)
After changing the character set with SET CHARACTER
SET, the result of the
GROUP_CONCAT() function was not converted
to the proper character set. (Bug#12829)
myisampack did not properly pack
BLOB values larger than
224 bytes. (Bug#4214)
The server crashed when one thread resized the query cache while another thread was using it. (Bug#12848)
mysqld_multi now quotes arguments on command lines that it constructs to avoid problems with arguments that contain shell metacharacters. (Bug#11280)
When any --replicate-wild-* option is used,
the slave ignores SET ONE_SHOT TIME_ZONE
statements as belonging to a non-replicated table. (Bug#12542)
Deadlock occurred when several account management statements
were run (particularly between FLUSH
PRIVILEGES/SET PASSWORD and
GRANT/REVOKE
statements). (Bug#12423)
On Windows, the server was preventing tables from being
created if the table name was a prefix of a forbidden name.
For example, nul is a forbidden name
because it's the same as a Windows device name, but a table
with the name of n or nu
was being forbidden as well. (Bug#12325)
InnoDB was too permissive with
LOCK TABLE ... READ LOCAL and allowed new
inserts into the table. Now READ LOCAL is
equivalent to READ for
InnoDB. This will cause slightly more
locking in mysqldump, but makes
InnoDB table dumps consistent with
MyISAM table dumps. (Bug#12410)
The have_innodb read-only system variable
could not be selected with SELECT
@@have_innodb. (Bug#9613)
A UNION of long utf8
VARCHAR columns was sometimes returned as a
column with a LONGTEXT data type rather
than VARCHAR. This could prevent such
queries from working at all if selected into a
MEMORY table because the
MEMORY storage engine does not support the
TEXT data types. (Bug#12537)
NDB Cluster: Corrected the parsing of the
CLUSTERLOG command by
ndb_mgm to allow multiple items. (Bug#12833)
NDB Cluster: Improved error messages
related to filesystem issues. (Bug#11218)
NDB Cluster: When a schema was detected to
be corrupt, ndb neglected to close it,
resulting in a “file already open” error if the
schema was opened again later. written. (Bug#12027)
NDB Cluster: When it could not copy a
fragment, ndbd exited without printing a
message about the condition to the error log. Now the message
is written. (Bug#12900)
NDB Cluster: When a disk full condition
occurred, ndbd exited without printing a
message about the condition to the error log. Now the message
is written. (Bug#12716)
If a client has opened an InnoDB table for
which the .ibd file is missing,
InnoDB would not honor a DROP
TABLE statement for the table. (Bug#12852)
SELECT GROUP_CONCAT(...) FROM DUAL in a
subquery could cause the client to hang. (Bug#12861)
NDB Cluster: Bad values in
config.ini caused
ndb_mdmd to crash. (Bug#12043)
TRUNCATE TABLE did not work with
TEMPORARY InnoDB tables.
(Bug#11816)
ALTER TABLE did not move the
table to default database unless the new name was qualified
with the database name. (Bug#11493)
db_name.t
RENAME t
Spatial index corruption could occur during updates. (Bug#9645)
If a DROP DATABASE fails on a master server
due to the presence of a non-database file in the database
directory, the master have the database tables deleted, but
not the slaves. To deal with failed database drops, we now
write DROP TABLE statements to the binary
log for the tables so that they are dropped on slaves. (Bug#4680)
DELETE or UPDATE for an
indexed MyISAM table could fail. This was
due to a change in end-space comparison behavior from 4.0 to
4.1. (Bug#12565)
The ARCHIVE storage engine does not support
deletes, but it was possible to delete by using
DELETE or TRUNCATE TABLE
with a FEDERATED table that points to an
ARCHIVE table. (Bug#12836)
Queries that created implicit temporary tables could return incorrect data types for some columns. (Bug#11718)
An optimizer estimate of zero rows for a non-empty
InnoDB table used in a left or right join
could cause incomplete rollback for the table. (Bug#12779)
A SELECT DISTINCT query with a constant
value for one of the columns would return only a single row.
(Bug#12625)
Users created using an IP address or other alias rather than a
hostname listed in /etc/hosts could not
set their own passwords. (Bug#12302)
NDB Cluster: An ALTER
TABLE command caused loss of data stored prior to
the issuing of the command. (Bug#12118)
MEMORY tables using
B-Tree index on 64-bit platforms could
produce false table is full errors. (Bug#12460)
MySQL failed to compile when
--with-ndb-ccflags was specified. (Bug#11538)
On Windows when the
--innodb_buffer_pool_awe_mem_mb option has
been given, the server detects whether AWE support is
available and has been compiled into the server, and displays
an appropriate error message if not. (Bug#6581)

User Comments
Add your own comment.