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:
Fixed processing of LOAD DATA
by mysqlbinlog in remote mode. (Bug#1378)
The ft_dump utility program was renamed to myisam_ftdump, and is included in binary distributions.
ENGINE
is now a synonym for the
TYPE
option for CREATE
TABLE
and ALTER
TABLE
.
lower_case_table_names
system
variable now can take a value of 2
, to
store table names in mixed case on case-insensitive file
systems. It is forced to 2 if the database directory is
located on a case-insensitive file system.
For replication of MEMORY
(HEAP
) tables: Made the master
automatically write a DELETE FROM
statement
to its binary log when a MEMORY
table is
opened for the first time since master's startup. This is for
the case where the slave has replicated a nonempty
MEMORY
table, then the master is shut down
and restarted: the table is now empty on master; the
DELETE FROM
empties it on slave too. Note
that even with this fix, between the master's restart and the
first use of the table on master, the slave still has
out-of-date data in the table. But if you use the
init-file
option to populate the
MEMORY
table on the master at startup, it
ensures that the failing time interval is zero. (Bug#2477)
Optimizer is now better tuned for the case where the first used key part (of many) is a constant. (Bug#1679)
Removed old nonworking --old-rpl-compat
server option, which was a holdover from the very first 4.0.x
versions. (Bug#2428)
Added sync_frm
system
variable. It is enabled by default, to instruct MySQL to sync
to disk each time an .frm
file is
created. Disable it to suppress these sync operations.
Bugs fixed:
mysqlhotcopy now works on NetWare.
DROP DATABASE
could not drop
databases with RAID tables that had more than nine
RAID_CHUNKS
. (Bug#2627)
Fixed bug in range optimizer when using overlapping ranges. (Bug#2448)
Limit wait_timeout
to 2147483
on Windows (OS limit). (Bug#2400)
Fixed bug when --init-file
crashes MySQL if it contains a large
SELECT
. (Bug#2526)
SHOW
KEYS
now shows NULL
in the
Sub_part
column for
FULLTEXT
indexes.
The signal thread's stack size was increased to enable
mysqld to run on Debian/IA-64 with a
TLS-enabled glibc
. (Bug#2599)
Now only the SELECT
privilege
is needed for tables that are only read in multiple-table
UPDATE
statements. (Bug#2377)
Give proper error message if one uses LOCK TABLES ...
; INSERT ... SELECT
and one used the same table in
the INSERT
and
SELECT
part. (Bug#2296)
SELECT INTO ... DUMPFILE
now deletes the
generated file on error.
Fixed foreign key reference handling to allow references to column names that contain spaces. (Bug#1725)
Fixed problem with index reads on character columns with
BDB
tables. The symptom was that data could
be returned in the wrong lettercase. (Bug#2509)
Fixed a spurious table corruption problem that could sometimes
appear on tables with indexed
TEXT
columns if these columns
happened to contain values having trailing spaces. This bug
was introduced in 4.0.17.
Fixed a problem where some queries could hang if a condition
like
was present and the
column contained values having trailing spaces. This bug was
introduced in 4.0.17.
indexed_TEXT_column
=
expr
Fixed a bug that could cause incorrect results from a query
that involved range conditions on indexed
TEXT
columns that happened to
contain values having trailing spaces. This bug was introduced
in 4.0.17. (Bug#2295)
Fixed incorrect path names in some of the manual pages. (Bug#2270)
Fixed spurious “table corrupted” errors in parallel repair operations. See Section 5.1.3, “Server System Variables”.
Fixed a crashing bug in parallel repair operations. See Section 5.1.3, “Server System Variables”.
Fixed bug in updating MyISAM
tables for
BLOB
values longer than 16MB.
(Bug#2159)
Fixed bug in mysqld_safe when running multiple instances of MySQL. (Bug#2114)
Fixed a bug in using HANDLER
statement with tables not from a current database. (Bug#2304)
Fixed a crashing bug that occurred due to the fact that
multiple-table UPDATE
statements did not check that there was only one table to be
updated. (Bug#2103)
Fixed a crashing bug that occurred due to
BLOB
data type index size being
calculated incorrectly in MIN()
and MAX()
optimizations.
(Bug#2189)
Fixed a bug with incorrect syntax for
LOCK TABLES
in
mysqldump. (Bug#2242)
Fixed a bug in mysqld_safe that caused
mysqld to generate a warning about
duplicate
user=
options
if this option was specified in the
xxx
[mysqld]
or [server]
sections of my.cnf
. (Bug#2163)
INSERT DELAYED ... SELECT ...
could cause
table corruption because tables were not locked properly. This
is now fixed by ignoring DELAYED
in this
context. (Bug#1983)
Replication: Sometimes the master gets a nonfatal error during
the execution of a statement that does not immediately
succeed. (For example, a write to a MyISAM
table may first receive “no space left on
device,” but later complete when disk space becomes
available. See Section A.5.4.3, “How MySQL Handles a Full Disk”.) The bug was that
the master forgot to reset the error code to 0 after success,
so the error code got into its binary log, thus causing the
slave to issue false alarms such as “did not get the
same error as on master.” (Bug#2083)
Removed a misleading “check permissions on master.info” from a replication error message, because the cause of the problem could be something other than permissions. (Bug#2121)
Fixed a crash when the replication slave was unable to create the first relay log. (Bug#2145)
Replication of LOAD
DATA INFILE
for an empty file from a 3.23 master to
a 4.0 slave caused the slave to print an error. (Bug#2452)
When automatically forcing
lower_case_table_names
to 1
if the file system was case insensitive,
mysqld could crash. This bug existed only
in MySQL 4.0.17. (Bug#2481)
Restored ability to specify default values for
TIMESTAMP
columns that was
erroneously disabled in previous release. (Bug#2539) Fixed
SHOW CREATE TABLE
to reflect
these values. (Bug#1885) Note that because of the auto-update
feature for the first TIMESTAMP
column in a table, it makes no sense to specify a default
value for the column. Any such default is silently ignored
(unless another TIMESTAMP
column is added before this one). Also fixed the meaning of
the DEFAULT
keyword when it is used to
specify the value to be inserted into a
TIMESTAMP
column other than the
first. (Bug#2464)
Fixed bug for out-of-range arguments on QNX platform that
caused UNIX_TIMESTAMP()
to
produce incorrect results or that caused nonzero values to be
inserted into TIMESTAMP
columns. (Bug#2523) Also, current time zone now is taken into
account when checking if datetime values satisfy both range
boundaries for TIMESTAMP
columns. The range allowed for a
TIMESTAMP
column is time
zone-dependent and equivalent to a range of
1970-01-01 00:00:01
UTC to
2037-12-31 23:59:59
UTC.
Multiple-table DELETE
statements were never replicated by the slave if there were
any --replicate-*-table
options. (Bug#2527)
Changes to session counterparts of variables
query_prealloc_size
,
query_alloc_block_size
,
trans_prealloc_size
,
trans_alloc_block_size
now have an effect.
(Bug#1948)
Fixed bug in ALTER TABLE RENAME
, when
rename to the table with the same name in another database
silently dropped destination table if it existed. (Bug#2628)
User Comments
Add your own comment.