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. 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:
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 nonstandard (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 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.4.6.3, “KILL Syntax”.
Added --start-datetime,
--stop-datetime,
--start-position, and
--stop-position options to
mysqlbinlog. These make point-in-time
recovery easier.
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:
Replication:
A CREATE TABLE ... TYPE=HEAP ... AS SELECT...
statement caused the replication slave to stop.
(Bug#4971)
Replication:
When a multiple-table DROP TABLE
failed to drop a table on the master server, the error was not
written to the binary log.
(Bug#4553)
Replication:
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)
libmysql crashed when attempting to fetch the
value of a MEDIUMINT column.
(Bug#5126)
disable-local-infile option had no effect if
the client read it from a configuration file using
mysql_options(...,MYSQL_READ_DEFAULT,...).
(Bug#5073)
SET GLOBAL SYNC_BINLOG did not work on some
platforms (Mac OS X).
(Bug#5064)
mysql-test-run failed the
rpl_trunc_binlog test when running the test
from the installation directory.
(Bug#5050)
mysql_options(...,MYSQL_OPT_LOCAL_INFILE,...)
failed to disable
LOAD DATA LOCAL
INFILE.
(Bug#5038)
The MySQL server crashed when attempting to execute a prepared
statement with SELECT ... INTO @var for the
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)
The .err extension was omitted from the
error log file (--log-error) when
the host name contained a domain name. The domain name is now
replaced by the extension.
(Bug#4997)
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)
myisasmchk
--extend-check crashed when
run on a list of files.
(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)
A deadlock could happen under certain rare circumstances 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)
mysql-test-run failed the
grant_cache test when run as Unix root user.
(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)
If CREATE TEMPORARY TABLE t SELECT failed
while loading the data, the temporary table was not dropped.
(Bug#4551)
Using the CONVERT_TZ() function
with a time zone described in the database as parameter where
this time zone had not been used before caused the server to
crash.
(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
Executing UNHEX(NULL) caused the
server to crash.
(Bug#4441)
Execution IN subqueries that use compound
indexes was better optimized.
(Bug#4435)
An assertion failure could occur when reading the grant tables (Bug#4407)
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
Concurrent accesses to more than one MERGE
table, or to one MERGE table and a
MyISAM tables, could result in a crash or
hang of the server.
(Bug#2408)

User Comments
Add your own comment.