End of Product Lifecycle. Active development and support for MySQL Database Server versions 3.23, 4.0, and 4.1 has ended. For details, see http://www.mysql.com/about/legal/lifecycle/#calendar. Please consider upgrading to a recent version. Further updates to the content of this manual will be minimal. All formats of this manual will continue to be available until 31 Dec 2010.
Functionality added or changed:
MySQL Cluster:
Improved handling of the configuration variables
NoOfPagesToDiskDuringRestartACC
,
NoOfPagesToDiskAfterRestartACC
,
NoOfPagesToDiskDuringRestartTUP
, and
NoOfPagesToDiskAfterRestartTUP
should result
in noticeably faster startup times for MySQL Cluster.
(Bug#12149)
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.
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)
Added an optimization that avoids key access with
NULL
keys for the
ref
method when used in outer
joins.
(Bug#12144)
Added support of where clause for queries with FROM
DUAL
.
(Bug#11745)
SHOW CHARACTER SET
and
INFORMATION_SCHEMA
now properly report the
Latin1
character set as
cp1252
.
(Bug#11216)
Added new query cache test for the embedded server to the test suite, there are now specific tests for the embedded and nonembedded servers. (Bug#9508)
The MySQL server now starts correctly with all combinations of
--basedir
and
--datadir
, resolving an issue
introduced by the original fix for this bug in MySQL 4.1.9.
(Bug#7249)
See also Bug#7518.
Bugs fixed:
MySQL Cluster:
The temporary tables created by an ALTER
TABLE
on an NDB
table
were visible to all SQL nodes in the cluster.
(Bug#12055)
MySQL Cluster:
NDB
ignored the
Hostname
option in the [ndbd
default]
section of the cluster configuration file.
(Bug#12028)
MySQL Cluster:
The output of perror --help
did not display any information about the
--ndb
option.
(Bug#11999)
MySQL Cluster: Attempting to create or drop tables during a backup would cause the cluster to shut down. (Bug#11942)
MySQL Cluster: ndb_mgmd leaked file descriptors. (Bug#11898)
Replication:
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)
Mishandling of comparison for rows containing
NULL
values against rows produced by an
IN
subquery could cause a server crash.
(Bug#12392)
Concatenating USER()
or
DATABASE()
with a column produced
invalid results.
(Bug#12351)
Creation of the mysql
group account failed
during the RPM installation.
(Bug#12348)
Renamed the rest()
macro in
my_list.h
to list_rest()
to avoid name clashes with user code.
(Bug#12327)
Performing
DATE(LEFT(
on a column
,8))DATE
column produces
incorrect results.
(Bug#12266)
myisampack failed to delete
.TMD
temporary files when run with
-T
option.
(Bug#12235)
Updated dependency list for RPM builds to include missing
dependencies such as useradd
and
groupadd
.
(Bug#12233)
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)
Two threads could potentially initialize different characters sets and overwrite each other. (Bug#12109)
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)
big5
strings were not being stored in
FULLTEXT
index.
(Bug#12075)
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)
mysql_next_result()
returns
incorrect value if final query in a batch fails.
(Bug#12001)
Character data truncated when GBK characters
0xA3A0
and 0xA1
are
present.
(Bug#11987)
UNION
query with
FULLTEXT
could cause server crash.
(Bug#11869)
Corrected an optimizer problem with NOT NULL
constraints within a subquery in an
UPDATE
statement that resulted in
a server crash.
(Bug#11868)
Some subqueries of the form SELECT ... WHERE ROW(...)
IN (
were being
handled incorrectly.
(Bug#11867)subquery)
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)
Comparisons like SELECT "A\\" LIKE "A\\";
fail when using SET NAMES utf8;
.
(Bug#11754)
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)
Attempting to repair a table having a full-text 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)
LIKE pattern matching using prefix index didn't return correct result. (Bug#11650)
Corrected a problem with the optimizer incorrectly adding
NOT NULL
constraints, producing in incorrect
results for complex queries.
(Bug#11482)
Queries with subqueries that contain outer joins could return wrong results. (Bug#11479)
Multiplying ABS()
output by a
negative number would return incorrect results.
(Bug#11402)
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)
Prepared statement parameters could cause errors in the binary
log if the character set was cp932
.
(Bug#11338)
The LPAD()
and
RPAD()
functions returned the
wrong length to
mysql_fetch_fields()
.
(Bug#11311)
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)
The C API function
mysql_stmt_reset()
did not clear
error information.
(Bug#11183)
myisam.test
failed when server compiled using
--without-geometry
option.
(Bug#11083)
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)
SELECT @@local...
returned
@@session...
in the column header.
(Bug#10724)
When two threads competed for the same table, a deadlock could
occur if one thread also had a lock on another table through
LOCK TABLES
and the thread was
attempting to remove the table in some manner while the other
thread tried to place locks on both tables.
(Bug#10600)
Incorrect error message displayed if user attempted to create a
table in a nonexisting database using CREATE
syntax.
(Bug#10407)database_name
.table_name
GROUP_CONCAT()
sometimes returned
a result with a different collation from that of its arguments.
(Bug#10201)
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
could fail with an erroneous “Column
'col_name
' specified twice”
error.
(Bug#10109)
Multiple-table UPDATE
queries
using CONVERT_TZ()
would fail
with an error.
(Bug#9979)
The value of max_connections_per_hour
was
capped by the unrelated max_user_connections
setting.
(Bug#9947)
mysql_fetch_fields()
returned
incorrect length information for MEDIUM
and
LONG
TEXT
and
BLOB
columns.
(Bug#9735)
FLUSH TABLES WITH READ
LOCK
combined with LOCK TABLE ..
WRITE
caused deadlock.
(Bug#9459)
Server-side prepared statements failed for columns with a
character set of ucs2
.
(Bug#9442)
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)
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)
ISO-8601
formatted dates were not being
parsed correctly.
(Bug#7308)
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)
User Comments
Add your own comment.