-----BEGIN PGP SIGNED MESSAGE-----
MySQL 4.1.3, a new version of the popular Open Source/Free Software
Database Management System, has been released. It is now available in
source and binary form for a number of platforms from our download pages
at http://www.mysql.com/downloads/ and mirror sites.
Note that not all mirror sites may be up to date at this point in time -
if you can't find this version on some mirror, please try again later or
choose another download site.
This is the first beta development release, adding new features
and fixing recently discovered bugs. The change to "beta" level indicates,
that all planned major features for MySQL 4.1 have been implemented by
now. The focus is now on testing and stabilizing these new features and
the rest of the code base.
Please refer to our bug database at http://bugs.mysql.com/ for more
details about the individual bugs fixed in this version.
News from the ChangeLog:
Functionality added or changed:
* Language-specific collations were added for the ucs2 and utf8
Unicode character sets: Icelandic, Latvian, Romanian, Slovenian,
Polish, Estonian, Swedish, Turkish, Czech, Danish, Lithuanian,
Slovak, Spanish, Traditional Spanish.
* Support for per-connection time zones was added. Now you can
select current time zone for connection by setting system
@@time_zone variable to a value such as '+10:00' or
'Europe/Moscow' (where 'Europe/Moscow' is the name of one of the
time zones described in the system tables). Functions like
CURRENT_TIMESTAMP, UNIX_TIMESTAMP, and so forth honor this time
zone. Values of TIMESTAMP type are also interpreted as values in
this time zone (so now our TIMESTAMP type behaves similar to
Oracle's TIMESTAMP WITH LOCAL TIME ZONE, that is, values stored in
such a column are normalized towards UTC and converted back to the
current connection time zone when they are retrieved from such a
* Basic datetime with time zone conversion function CONVERT_TZ() was
added. It assumes that its first argument is a datetime value in
the time zone specified by its second argument and returns
equivalent datetime value in time zone specified by its third
* CHECK TABLE now can be killed. See section "KILL Syntax" in the
* Warning: Incompatible change! C API change: mysql_shutdown() now
requires a second argument. This is a source-level incompatibility
that affects how you compile client programs; it does not affect
the ability of compiled clients to communicate with older servers.
See section "mysql_shutdown()" in the manual.
* OPTIMIZE TABLE for InnoDB tables is now mapped to ALTER TABLE
instead of ANALYZE TABLE.
* sync_frm is now a settable global variable (not only a startup
* Added the sync-binlog=N global variable and startup option, which
makes the MySQL server synchronize its binary log to disk
(fdatasync()) after every Nth write to the binary log.
* Changed the slave SQL thread to print fewer useless error messages
(no more message duplication; no more messages when an error is
skipped (because of slave-skip-errors).
* DROP DATABASE IF EXISTS, DROP TABLE IF EXISTS, single-table DELETE
and single-table UPDATE are now written to the binary log even if
they changed nothing on the master (for example, even if the
DELETE matched no row). The old behavior sometimes caused bad
surprises in replication setups.
* Replication and mysqlbinlog now have better support for the case
that the session character set and collation variables are changed
within a given session. See section "Replication Features and
Known Problems" in the manual.
* Added --innodb-safe-binlog server option, which adds consistency
guarantees between the content of InnoDB tables and the binary
log. See section "The Binary Log" in the manual.
* LIKE now supports the use of a prepared statement parameter or
delimited constant expression as the argument to ESCAPE (Bug #4200).
* Added missing root user to Windows version of mysqld. (Bug #4242)
* Fixed bug in prepared EXPLAIN statement which led to server crash.
* Fixed a bug of using parameters in some prepared statements via
SQL syntax. (Bug #4280)
* Fixed a bug in MERGE tables created with INSERT_METHOD=LAST, that
were not able to report a key number that caused "Duplicate entry"
error for UNIQUE key in INSERT. As a result, error message was not
precise enough (error 1022 instead of error 1062) and INSERT ...
ON DUPLICATE KEY UPDATE did not work. (Bug #4008)
* Fixed a bug in DELETE from a table with FULLTEXT indexes which
under rare circumstances could result in a corrupted table, if
words of different lengths may be considered equal (which is
possible in some collations, e.g. in utf8_general_ci or
latin1_german2_ci.) (Bug #3808)
* Fixed too early unlocking tables if we have subquery in HAVING
clause. (Bug #3984)
* Fixed a bug in mysqldump when it didn't return an error if the
output device was filled (Bug #1851)
* Fixed a bug in client side conversion of string column to
MYSQL_TIME application buffer (prepared statements API). (Bug
* Fixed a bug with server crash on attempt to execute a non-prepared
statement. (Bug #4236)
* Fixed a bug with server crash on attempt to prepare a statement
with character set introducer. (Bug #4105)
* Fixed bug which caused different number of warnings to be
generated when bad datetime as string or as number was inserted
into DATETIME or TIMESTAMP column. (Bug #2336)
* Fixed some byte order bugs with prepared statements on machines
with high-byte-first. (Bug #4173)
* Fixed unlikely bug in the range optimzer when using many IN()
queries on different key parts. (Bug #4157)
* Fixed problem with NULL and derived tables. (Bug #4097)
* Fixed wrong UNION results if display length of fields for numeric
types was set less then real length of values in them. (Bug #4067)
* Fixed a bug in mysql_stmt_close(), which hung up when attempting
to close statement after failed mysql_stmt_fetch(). (Bug #4079)
* Fixed bug of re-execution optimized COUNT(*), MAX() and MIN()
functions in prepared statements. (Bug #2687)
* Fixed a bug with COUNT(DISTINCT) performance degradation in cases
like COUNT(DISTINCT a TEXT, b CHAR(1)) (no index used). (Bug
* Fixed a bug in MATCH ... AGAINST(... IN BOOLEAN MODE) that under
rare circumstances could cause wrong results if in the data's
collation one byte could match many (like in utf8_general_ci or
latin1_german2_ci.) (Bug #3964)
* Fixed a bug in prepared statements protocol, when microseconds
part of MYSQL_TYPE_TIME/MYSQL_TYPE_DATETIME columns was not sent
to the client. (Bug #4026)
* Fixed a bug that using --with-charset with configure didn't affect
the MySQL client library. (Bug #3990)
* Fixed a bug in authentication code that allowed a malicious user
to bypass password verification with specially crafted packets
(using a modified client library).
* Fixed bug with wrong result of CONCAT(?, column) in prepared
statements. (Bug #3796)
* mysql_fix_privilege_tables didn't correctly handle the argument of
its --password=# option. (Bug #4240)
* Fixed potential memory overrun in mysql_real_connect() (which
required a compromised DNS server and certain operating systems).
* During the installation process of the server RPM on Linux, mysqld
was run as the root system user, and if you had
--log-bin=<somewhere_out_of_var_lib_mysql> it created binary log
files owned by root in this directory, which remained owned by
root after the installation. This is now fixed by starting mysqld
as the mysql system user instead. (Bug #4038)
* Made DROP DATABASE honor the value of lower_case_table_names. (Bug
* The slave SQL thread refused to replicate INSERT ... SELECT if it
examined more than 4 billion rows. (Bug #3871)
* mysqlbinlog didn't escape the string content of user variables,
and did not deal well when these variables were in non-ASCII
character sets; this is now fixed by always printing the string
content of user variables in hexadecimal. The character set and
collation of the string is now also printed. (Bug #3875)
* Please note that a few binary packages (e.g. the "Max" packages) are
missing from the initial release. These will be made available as soon
as they are ready.
Lenz Grimmer <lenz@stripped>
Senior Production Engineer
MySQL GmbH, http://www.mysql.de/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: For info see http://quantumlab.net/pine_privacy_guard/
-----END PGP SIGNATURE-----
|• MySQL 4.1.3-beta has been released||Lenz Grimmer||1 Jul|