End of Product Lifecycle. Active development and support for MySQL database server versions 3.23, 4.0, and 4.1 has ended. However, for MySQL 4.0 and 4.1, there is still extended support available. For details, see http://www.mysql.com/company/legal/lifecycle/#calendar. According to the MySQL Lifecycle Policy (see http://www.mysql.com/company/legal/lifecycle/#policy), only Security and Severity Level 1 issues will still be fixed for MySQL 4.0 and 4.1. Please consider upgrading to a recent version (MySQL 5.0 or 5.1).
Functionality added or changed:
SHOW CHARACTER SET and
INFORMATION_SCHEMA now properly report the
Latin1 character set as
cp1252. (Bug#11216)
MySQL Cluster: A new -P
option is available for use with the
ndb_mgmd client. When called with this
option, ndb_mgmd prints all configuration
data to stdout, then exits.
The output of perror --help now displays
the --ndb option. (Bug#11999)
NDB: Improved handling of the configuration
variables NoOfPagesToDiskDuringRestartACC,
NoOfPagesToDiskAfterRestartACC,
NoOfPagesToDiskDuringRestartTUP, and
NoOfPagesToDiskAfterRestartTUP should
result in noticeably faster startup times for MySQL Cluster.
(Bug#12149)
Added support of where clause for queries with FROM
DUAL. (Bug#11745)
Added an optimization that avoids key access with
NULL keys for the ref
method when used in outer joins. (Bug#12144)
Added new query cache test for the embedded server to the test suite, there are now specific tests for the embedded and non-embedded servers. (Bug#9508)
Bugs fixed:
If a thread (connection) has tables locked, the query cache is switched off for that thread. This prevents invalid results where the locking thread inserts values between a second thread connecting and selecting from the table. (Bug#12385)
Prepared statement parameters could cause errors in the binary
log if the character set was cp932. (Bug#11338)
Queries with subqueries that contain outer joins could return wrong results. (Bug#11479)
Slave I/O threads were considered to be in the running state
when launched (rather than after successfully connecting to
the master server), resulting in incorrect SHOW SLAVE
STATUS output. (Bug#10780)
On Windows, the server could crash during shutdown if both replication threads and normal client connection threads were active. (Bug#11796)
Some subqueries of the form SELECT ... WHERE ROW(...)
IN ( were being
handled incorrectly. (Bug#11867)
subquery)
The mysql_info() C API function could
return incorrect data when executed as part of a
multi-statement that included a mix of statements that do and
do not return information. (Bug#11688)
Renamed the rest() macro in
my_list.h to
list_rest() to avoid name clashes with user
code. (Bug#12327)
myisampack failed to delete
.TMD temporary files when run with
-T option. (Bug#12235)
Concatenating
USER()/DATEBASE() with a
column produces invalid results. (Bug#12351)
For PKG installs on Mac OS X, the preinstallation and postinstallation scripts were being run only for new installations and not for upgrade installations, resulting in an incomplete installation process. (Bug#11380)
User variables were not automatically cast for comparisons, causing queries to fail if the column and connection character sets differed. Now when mixing strings with different character sets but the same coercibility, allow conversion if one character set is a superset of the other. (Bug#10892)
Pathame values for options such as ---basedir
or --datadir didn't work on Japanese Windows
machines for directory names containing multi-byte characters
having a second byte of 0x5C
(‘\’). (Bug#5439)
Mishandling of comparison for rows containing
NULL values against rows produced by an
IN subquery could cause a server crash.
(Bug#12392)
INSERT ... SELECT ... ON DUPLICATE KEY
UPDATE could fail with an erroneous “Column
'col_name' specified twice”
error. (Bug#10109)
myisam.test failed when server compiled
using --without-geometry option. (Bug#11083)
Creation of the mysql group account failed
during the RPM installation. (Bug#12348)
FLUSH TABLES WITH READ LOCK combined with
LOCK TABLE .. WRITE caused deadlock. (Bug#9459)
GROUP_CONCAT ignores the
DISTINCT modifier when used in a query
joining multiple tables where one of the tables has a single
row. (Bug#12095)
UNION query with
FULLTEXT could cause server crash. (Bug#11869)
Performing
DATE(LEFT(
on a column,8))DATE column produces incorrect
results. (Bug#12266)
max_connections_per_hour setting was being
capped by unrelated max_user_connections
setting. (Bug#9947)
big5 strings were not being stored in
FULLTEXT index. (Bug#12075)
Updated dependency list for RPM builds to include missing
dependencies such as useradd and
groupadd. (Bug#12233)
Multiplying ABS() output by a negative
number would return incorrect results. (Bug#11402)
SELECT @@local... returned
@@session... in the column header. (Bug#10724)
Character data truncated when GBK characters
0xA3A0 and 0xA1 are
present. (Bug#11987)
Comparisons like SELECT "A\\" LIKE "A\\";
fail when using SET NAMES utf8;. (Bug#11754)
Attempting to repair a table having a fulltext index on a
column containing words whose length exceeded 21 characters
and where myisam_repair_threads was greater
than 1 would crash the server. (Bug#11684)
Two threads could potentially initialize different characters sets and overwrite each other. (Bug#12109)
NDB: Attempting to create or drop tables
during a backup would cause the cluster to shut down. (Bug#11942)
NDB_MGMD was leaking file descriptors. (Bug#11898)
NDB ignored the Hostname option in the
NDBD DEFAULT section of the NDB
configuration file. (Bug#12028)
The temporary tables created by an ALTER
TABLE on a cluster table were visible to all MySQL
servers. (Bug#12055)
For prepared statements, the SQL parser did not disallow
‘?’ parameter markers
immediately adjacent to other tokens, which could result in
malformed statements in the binary log. (For example,
SELECT * FROM t WHERE? = 1 could become
SELECT * FROM t WHERE0 = 1.) (Bug#11299)
GROUP_CONCAT() sometimes returned a result
with a different collation from that of its arguments. (Bug#10201)
When two threads compete for the same table, a deadlock could
occur if one thread has also a lock on another table through
LOCK TABLES and the thread is attempting to
remove the table in some manner and the other thread want
locks on both tables. (Bug#10600)
Incorrect error message displayed if user attempted to create
a table in a non-existing database using CREATE
syntax. (Bug#10407)
database_name.table_name
The LPAD() and RPAD()
functions returned the wrong length to
mysql_fetch_fields(). (Bug#11311)
The C API function mysql_statement_reset()
did not clear error information. (Bug#11183)
Multiple-table UPDATE queries using
CONVERT_TZ() would fail with an error. (Bug#9979)
mysql_fetch_fields() returned incorrect
length information for MEDIUM and
LONG TEXT and
BLOB columns. (Bug#9735)
LIKE pattern matching using prefix index didn't return correct result. (Bug#11650)
The MySQL server had issues with certain combinations of basedir and datadir. (Bug#7249)
mysql_next_result() returns incorrect value
if final query in a batch fails. (Bug#12001)
SHOW BINARY LOGS displayed a file size of 0
for all log files but the current one if the files were not
located in the data directory. (Bug#12004)
Server-side prepared statements failed for columns with a
character set of ucs2. (Bug#9442)
References to system variables in an SQL statement prepared
with PREPARE were evaluated during
EXECUTE to their values at prepare time,
not to their values at execution time. (Bug#9359)
For server shutdown on Windows, error messages of the form
Forcing close of thread were being
written to the error log. Now connections are closed more
gracefully without generating error messages. (Bug#7403)
n
user: 'name'
Corrected a problem with the optimizer incorrectly adding
NOT NULL constraints, producing in
incorrect results for complex queries. (Bug#11482)
Corrected an optimizer problem with NOT
NULL constraints within a subquery in an
UPDATE statement that resulted in a server
crash. (Bug#11868)
Creating a table with a SET or
ENUM column with the DEFAULT
0 clause caused a server crash if the table's
character set was utf8. (Bug#11819)
In SQL prepared statements, comparisons could fail for values
not equally space-padded. For example, SELECT 'a' =
'a '; returns 1, but PREPARE s FROM
'SELECT ?=?'; SET @a = 'a', @b = 'a '; PREPARE s FROM
'SELECT ?=?'; EXECUTE s USING @a, @b; incorrectly
returned 0. (Bug#9379)
InnoDB: Do not flush after each write, not
even before setting up the doublewrite buffer. Flushing can be
extremely slow on some systems. (Bug#12125)
ISO-8601 formatted dates were not being
parsed correctly. (Bug#7308)

User Comments
Add your own comment.