Note: 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).
Functionality added or changed:
Added the CSV storage engine.
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. (Bug#4492) 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.
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”.
Added Latin language collations for the
ucs2 and utf8 Unicode
character sets. These are called
ucs2_roman_ci and
utf8_roman_ci.
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 --start-datetime,
--stop-datetime,
--start-position, and
--stop-position options to
mysqlbinlog. These make point-in-time
recovery easier.
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 13.5.5.3, “KILL Syntax”.
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 (reported as 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.
Bugs fixed:
Fixed a bug that caused libmysql to crash when attempting to
fetch a value of MEDIUMINT column. (Bug#5126)
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)
Fixed execution of optimized IN subqueries
that use compound indexes. (Bug#4435)
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 a crash after SLAVE STOP if the IO
thread was in a special state. (Bug#4629)
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,
CVE-2004-0837)
Fixed a bug that caused server crash on attempt to execute for
a second time a prepared statement with NOT
in WHERE or ON clauses.
(Bug#4912)
MATCH ... AGAINST now works in a subquery.
(Bug#4769)
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)
Fixed a crash in myisamchk. (Bug#4901)
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)
Support for %T, %r, %V, %v and %X,
%x format specifiers was added to
STR_TO_DATE() function. (Bug#4756)
Fixed a bug (hang) in NATURAL JOIN where
joined table had no common column. (Bug#4807)
Fixed a crash caused by UNHEX(NULL). (Bug#4441)
mysql_fix_privilege_tables didn't correctly
handle the argument of its
--password=
option. (Bug#4240, Bug#4543)
password_val
Fixed that mysqlbinlog --read-from-remote-server sometimes couldn't accept 2 binary logs on command line. (Bug#4507)
Fixed that mysqlbinlog --position
--read-from-remote-server had wrong #
at lines. (Bug#4506)
If CREATE TEMPORARY TABLE t SELECT failed
while loading the data, the temporary table was not dropped.
(Bug#4551)
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)
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)
Fixed an assertion failure when reading the grant tables (Bug#4407)
Fixed that CREATE TABLE ... TYPE=HEAP ... AS
SELECT... caused replication slave to stop. (Bug#4971)
Fixed that
mysql_options(...,MYSQL_OPT_LOCAL_INFILE,...)
failed to disable LOAD DATA LOCAL INFILE.
(Bug#5038)
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)
Fixed that mysql-test-run failed on the
grant_cache test when run as Unix user
'root'. (Bug#4678)
Fixed an unlikely deadlock which could happen when using
KILL. (Bug#4810)
Fixed a crash when one connection got
KILLed while it was doing START
SLAVE. (Bug#4827)
Made FLUSH TABLES WITH READ LOCK block
COMMIT if server is running with binary
logging; this ensures that the binary log position is
trustable when doing a full backup of tables and the binary
log. (Bug#4953)
Fixed that the counter of an auto_increment
column was not reset by TRUNCATE TABLE if
the table was a temporary table. (Bug#5033)
Fixed bug which caused error to be reported when column from
ORDER BY clause was present in two tables
participating in SELECT even if the second
instance of column in select list was renamed. (Bug#4302)

User Comments
Add your own comment.