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)
KILL
ing 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.