To fix a compile problem on systems that do not have
automake 1.7 installed, an updated 4.1.4a
source tarball has been published. In addition to resolving
this automake dependency (Bug#5319), it
also fixes some reported libedit compile
errors when using a non-gcc compiler (Bug#5353).
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:
Made internal representation of TIMESTAMP
values in InnoDB in 4.1 to be the same as in
4.0. This difference resulted in incorrect datetime values in
TIMESTAMP columns in
InnoDB tables after an upgrade from 4.0 to
4.1. Warning: extra steps during upgrade
required! Unfortunately this means that if you are
upgrading from 4.1.x, where x <= 3, to 4.1.4 you should use
mysqldump for saving and then restoring your
InnoDB tables with
TIMESTAMP columns.
(Bug#4492)
Made the MySQL server ignore SIGHUP and
SIGQUIT on Mac OS X 10.3. This is needed
because under this OS, the MySQL server receives lots of these
signals.
(Bug#2030)
Support of usage of column aliases qualified by table name or
alias in ORDER BY and GROUP
BY was dropped. For example the following query
SELECT a AS b FROM t1 ORDER BY t1.b is not
allowed. One should use SELECT a AS b FROM t1 ORDER BY
t1.a or SELECT a AS b FROM t1 ORDER BY
b instead. This was non-standard (since aliases are
defined on query level not on table level) and caused problems
with some queries.
Corrected the name of the Mac OS X StartupItem script (it must
match the name of the subdirectory, which was renamed to
MySQLCOM in MySQL 4.1.2). Thanks to Bryan
McCormack for reporting this.
Added Latin language collations for the ucs2
and utf8 Unicode character sets. These are
called ucs2_roman_ci and
utf8_roman_ci.
Added --start-datetime,
--stop-datetime,
--start-position, and
--stop-position options to
mysqlbinlog. These make point-in-time
recovery easier.
Added the CSV storage engine.
Killing a CHECK TABLE statement does not
result in the table being marked as “corrupted” any
more; the table remains as if CHECK TABLE had
not even started. See Section 12.5.5.3, “KILL Syntax”.
The mysqld-opt Windows server was renamed to mysqld. This completes the Windows server renaming begun in MySQL 4.1.2. See Section 2.3.8, “Selecting a MySQL Server Type”.
Bugs fixed:
Fixed a bug that caused libmysql to crash when attempting to
fetch a value of MEDIUMINT column.
(Bug#5126)
Fixed that disable-local-infile option had no
effect if client read it from a configuration file using
mysql_options(...,MYSQL_READ_DEFAULT,...).
(Bug#5073)
Fixed that SET GLOBAL SYNC_BINLOG did not
work on some platforms (Mac OS X).
(Bug#5064)
Fixed that mysql-test-run failed on the
rpl_trunc_binlog test if running test from
the installed (the target of 'make install') directory.
(Bug#5050)
mysql_options(...,MYSQL_OPT_LOCAL_INFILE,...)
failed to disable LOAD DATA LOCAL INFILE.
(Bug#5038)
Fixed a bug that caused the MySQL server to crash when
attempting to execute a prepared statement with SELECT
... INTO @var for a second time.
(Bug#5034)
The counter for an AUTO_INCREMENT column was
not reset by TRUNCATE TABLE if the table was
a temporary one.
(Bug#5033)
Fixed a bug that omitted the .err extension
of the error log file (--log-error) when the
hostname contained a domain name. The domain name is now
replaced by the extension.
(Bug#4997)
A CREATE TABLE ... TYPE=HEAP ... AS SELECT...
statement caused the replication slave to stop.
(Bug#4971)
FLUSH TABLES WITH READ LOCK now blocks
COMMIT statements if the server is running
with binary logging enabled; this ensures that the binary log
position is trustable when doing a full backup of tables and the
binary log.
(Bug#4953)
Attempting to execute for a second time a prepared statement
with NOT in an WHERE or
ON clause caused the server to crash.
(Bug#4912)
Fixed a crash in myisamchk. (Bug#4901)
KILLing a connection while it was performing
START SLAVE caused the server to crash.
(Bug#4827)
Prohibited resolving of table fields in inner queries if fields do not take part in grouping for queries with grouping (inside aggregate function arguments, all table fields are still allowed). (Bug#4814)
Fixed an unlikely deadlock which could happen when using
KILL.
(Bug#4810)
NATURAL JOIN where the joined tables had no
common column caused the server to hang.
(Bug#4807)
MATCH ... AGAINST now works in a subquery.
(Bug#4769)
Support for %T, %r, %V, %v and %X,
%x format specifiers was added to
STR_TO_DATE() function.
(Bug#4756)
Fixed that mysql-test-run failed on the
grant_cache test when run as Unix user
'root'.
(Bug#4678)
Fixed a crash after SLAVE STOP if the IO
replication thread is in the state Waiting to reconnect
after a failed master event read.
(Bug#4629)
Fixed that when a multiple-table DROP TABLE
failed to drop a table on the master server, the error code was
not written to the binary log.
(Bug#4553)
If CREATE TEMPORARY TABLE t SELECT failed
while loading the data, the temporary table was not dropped.
(Bug#4551)
Fixed a bug which caused server crash if one used the
CONVERT_TZ() function with time
zone described in database as parameter and this time zone was
not used before.
(Bug#4508)
mysqlbinlog --read-from-remote-server sometimes could not accept 2 binary logs in a single invocation. (Bug#4507)
mysqlbinlog --position
--read-from-remote-server had incorrect output for
# at .
(Bug#4506)log_pos
Fixed a crash caused by
UNHEX(NULL).
(Bug#4441)
Execution IN subqueries that use compound
indexes was better optimized.
(Bug#4435)
Fixed an assertion failure when reading the grant tables (Bug#4407)
When the slave SQL thread was replicating a LOAD DATA
INFILE statement, it didn't show the statement in the
output of SHOW PROCESSLIST.
(Bug#4326)
An error was reported when a column from an ORDER
BY clause was present in two tables participating in a
SELECT, even if the second instance of column
in select list was renamed. (For example, SELECT t1.a
AS c FROM t1, t2 ORDER BY a produced an error if both
t1 and t2 tables contain
column a).
Now MySQL does not prefer columns, mentioned in a select list
but renamed, over columns from other tables participating in a
FROM clause when it resolves the
ORDER BY clause.
(Bug#4302)
mysql_fix_privilege_tables did not handle the
--password=
option correctly.
(Bug#4240, Bug#4543)password_val
Fixed an old bug in concurrent accesses to
MERGE tables (even one
MERGE table and MyISAM
tables), that could have resulted in a crash or hang of the
server.
(Bug#2408)

User Comments
Add your own comment.