MySQL Forums
Forum List  »  Announcements

MySQL 4.1.15 has been released
Posted by: Joerg Bruehe
Date: October 20, 2005 09:25AM

Hi,


MySQL 4.1.15, a new version of the popular Open Source Database
Management System, has been released. The Community Edition is now
available in source and binary form for a number of platforms from our
download pages at http://dev.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 a bugfix release for the current production version.

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:

The limit of 255 characters on the input buffer for mysql on Windows
has been lifted. The exact limit depends on what the system allows,
but can be up to 64K characters. A typical limit is 16K characters.
(Bug #12929 (http://bugs.mysql.com/12929))

Added the myisam_stats_method, which controls whether NULL values in
indexes are considered the same or different when collecting
statistics for MyISAM tables. This influences the query optimizer as
described in Section 7.4.7, "MyISAM Index Statistics Collection."
(Bug #12232 (http://bugs.mysql.com/12232))

* Better detection of connection timeout for replication servers
on Windows allows elimination of extraneous Lost connection
errors in the error log.
(Bug #5588 (http://bugs.mysql.com/5588))
* When using IF NOT EXISTS with CREATE DATABASE or CREATE TABLE, a
warning now is generated if the database or table already
exists. (Bug #6008 (http://bugs.mysql.com/6008))
* A new command line argument was added to mysqld to ignore
client character set information sent during handshake, and use
server side settings instead, to reproduce 4.0 behaviour
(Bug #9948 (http://bugs.mysql.com/9948)):
mysqld --skip-character-set-client-handshake

Bugs fixed:
* NDBCluster: Updating a text-type column during a cluster backup
could cause the ndbd process to crash, due to the incorrect use
of charset-normalized reads. This could also lead to “wrong”
data in the backup if such a column was updated during the
backup; for example, supposing that the column used latin_ci,
then “aAa” might be stored in the backup as “AAA”. (Bug #12950
(http://bugs.mysql.com/12950))
* NDBCluster: When performing a delete of a great many (tens of
thousands of) rows at once from a Cluster table, an improperly
dereferenced pointer could cause the mysqld process to
crash. (Bug #9282 (http://bugs.mysql.com/9282))
* Server could over-allocate memory when performing a FULLTEXT
search for stopwords only. (Bug #13582
(http://bugs.mysql.com/13582))
* UNION of two DECIMAL columns returned wrong field type. (Bug
#13372 (http://bugs.mysql.com/13372))
* CHECKSUM TABLE locked InnoDB tables and did not use a consistent
read. (Bug #12669 (http://bugs.mysql.com/12669))
* SHOW CREATE TABLE did not display any FOREIGN KEY clauses if a
temporary file could not be created. Now SHOW CREATE TABLE
displays an error message in an SQL comment if this occurs.
(Bug #13002 (http://bugs.mysql.com/13002))
* Display of the AUTO_INCREMENT attribute by SHOW CREATE TABLE
was not controlled by the NO_FIELD_OPTIONS SQL mode as it should
have been. (Bug #7977 (http://bugs.mysql.com/7977))
* For VARCHAR columns with the ucs2 character set, InnoDB trimmed
trailing 0x20 bytes rather than 0x0020 words, resulting in
incorrect index lookups later. (Bug #12178
(http://bugs.mysql.com/12178))
* MySQL programs in binary distributions for Solaris 8/9/10 x86
systems would not run on Pentium III machines. (Bug #6772
(http://bugs.mysql.com/6772))
* NDB Cluster: Multiple ndb_mgmd processes in a cluster would not
know each other's IP addresses. (Bug #12037
(http://bugs.mysql.com/12037))
* NDB Cluster: With two mgmd processes in a cluster, ndb_mgm
output for SHOW would display the same IP address for both
processes, even when they were on different hosts. (Bug #11595
(http://bugs.mysql.com/11595))
* The --replicate-rewrite-db and --replicate-do-table options did
not work for statements in which tables were aliased to names
other than those listed by the options. (Bug #11139
(http://bugs.mysql.com/11139))
* After running configure with the
--with-embedded-privilege-control
option, the embedded server failed to build. (Bug #13501
(http://bugs.mysql.com/13501))
* Queries against a MERGE table that has a composite index could
produce incorrect results. (Bug #9112
(http://bugs.mysql.com/9112))
* Comparisons involving row constructors containing constants
could cause a server crash. (Bug #13356
(http://bugs.mysql.com/13356))
* MySQL would pass an incorrect key length to storage engines for
MIN(). This could cause warnings such as InnoDB: Warning: using
a partial-field key prefix in search. in the .err log.
(Bug #13218 (http://bugs.mysql.com/13218), same as
Bug #11039 (http://bugs.mysql.com/11039) in MySQL 5.0.7)
* NDB Cluster: LOAD DATA INFILE with a large data file failed.
(Bug #10694 (http://bugs.mysql.com/10694))
* NDB Cluster: Adding an index to a table with a large number of
columns (more than 100) crashed the storage node.
(Bug #13316 (http://bugs.mysql.com/13316))
* Aggregate functions sometimes incorrectly were allowed in the
WHERE clause of UPDATE and DELETE statements. (Bug #13180
(http://bugs.mysql.com/13180))
* MIN() and MAX() sometimes returned a non-NULL value for an empty
row set (for example, SELECT MAX(1) FROM empty_table).
(Bug #12882 (http://bugs.mysql.com/12882))
* LOAD DATA INFILE did not respect the NO_AUTO_VALUE_ON_ZERO SQL
mode setting. (Bug #12053 (http://bugs.mysql.com/12053))
* Use of a user-defined function within the HAVING clause of a
query resulted in an Unknown column error. (Bug #11553
(http://bugs.mysql.com/11553))
* The data type for DECIMAL columns was not respected when
updating the column from another column. For example, updating a
DECIMAL(10,1) column with the value from a DECIMAL(10,5) column
resulted in a DECIMAL(10,5) value being stored. Similarly,
altering a column with a DECIMAL(10,5) datatype to a
DECIMAL(10,1) data type did not properly convert data
values. (Bug #7598 (http://bugs.mysql.com/7598))
* NDB: A cluster shutdown following the crash of a data node would
fail to terminate the remaining node processes, even though
ndb_mgm showed the shutdown request as having been completed.
(Bug #10938 (http://bugs.mysql.com/10938),
Bug #9996 (http://bugs.mysql.com/9996),
Bug #11623 (http://bugs.mysql.com/11623))
* For queries with DISTINCT and WITH ROLLUP, the DISTINCT should
be applied after the rollup operation, but was not always.
(Bug #12887 (http://bugs.mysql.com/12887))
* The counters for the Key_read_requests, Key_reads,
Key_write_requests, and Key_writes status variables were changed
from unsigned long to unsigned longlong to accommodate larger
variables without rollover. (Bug #12920
(http://bugs.mysql.com/12920))
* A column that can be NULL was not handled properly for WITH
ROLLUP in a subquery or view.
(Bug #12885 (http://bugs.mysql.com/12885))
* Shared-memory connections were not working on Windows.
(Bug #12723 (http://bugs.mysql.com/12723))
* A concurrency problem for CREATE ... SELECT could cause a server
crash. (Bug #12845 (http://bugs.mysql.com/12845))
* Performing an IS NULL check on the MIN() or MAX() of an indexed
column in a complex query could produce incorrect results.
(Bug #12695 (http://bugs.mysql.com/12695))
* The NDB START BACKUP command could be interrupted by a SHOW
command. (Bug #13054 (http://bugs.mysql.com/13054))
* The LIKE ... ESCAPE syntax produced invalid results when
escape character was larger than one byte. (Bug #12611
(http://bugs.mysql.com/12611))
* A client connection thread cleanup problem caused the server to
crash when closing the connection if the binary log was enabled.
(Bug #12517 (http://bugs.mysql.com/12517))
* CHECKSUM TABLE command returned incorrect results for tables
with deleted rows. After upgrading, users who used stored
checksum information to detect table changes should rebuild
their checksum data. (Bug #12296 (http://bugs.mysql.com/12296))
* The value of character_set_results could be set to NULL, but
returned the string "NULL" when retrieved. (Bug #12363
(http://bugs.mysql.com/12363))
* GROUP_CONCAT() ignored an empty string if it was the first value
to occur in the result. (Bug #12863
(http://bugs.mysql.com/12863))
* Outer join elimination was erroneously applied for some queries
that used a NOT BETWEEN condition, an IN(value_list) condition,
or an IF() condition.
(Bug #12101 (http://bugs.mysql.com/12101), Bug #12102
(http://bugs.mysql.com/12102))
* Reverted a change introduced in MySQL 4.1.13 to fix a problem of
SHOW FIELDS truncating the TYPE column to 40 characters. This
fix was reverted for MySQL 4.1 because it broke existing
applications. The fix will be made to MySQL 5.0 instead
(5.0.13). (Bug #7142 (http://bugs.mysql.com/7142), Bug #12817
(http://bugs.mysql.com/12817))
* On HP-UX 11.x (PA-RISC), the -L option caused mysqlimport to
crash. (Bug #12958 (http://bugs.mysql.com/12958))
* After changing the character set with SET CHARACTER SET, the
result of the GROUP_CONCAT() function was not converted to the
proper character set. (Bug #12829 (http://bugs.mysql.com/12829))
* myisampack did not properly pack BLOB values larger than 2^24
bytes. (Bug #4214 (http://bugs.mysql.com/4214))
* The server crashed when one thread resized the query cache while
another thread was using it.
(Bug #12848 (http://bugs.mysql.com/12848))
* mysqld_multi now quotes arguments on command lines that it
constructs to avoid problems with arguments that contain shell
metacharacters. (Bug #11280 (http://bugs.mysql.com/11280))
* When any --replicate-wild-* option is used, the slave ignores
SET ONE_SHOT TIME_ZONE statements as belonging to a
non-replicated table.
(Bug #12542 (http://bugs.mysql.com/12542))
* Deadlock occurred when several account management statements
were run (particularly between FLUSH PRIVILEGES/SET PASSWORD and
GRANT/REVOKE statements).
(Bug #12423 (http://bugs.mysql.com/12423))
* On Windows, the server was preventing tables from being created
if the table name was a prefix of a forbidden name. For example,
nul is a forbidden name because it's the same as a Windows
device name, but a table with the name of n or nu was being
forbidden as well. (Bug #12325 (http://bugs.mysql.com/12325))
* InnoDB was too permissive with LOCK TABLE ... READ LOCAL and
allowed new inserts into the table. Now READ LOCAL is equivalent
to READ for InnoDB. This will cause slightly more locking in
mysqldump, but makes InnoDB table dumps consistent with MyISAM
table dumps. (Bug #12410 (http://bugs.mysql.com/12410))
* The have_innodb read-only system variable could not be selected
with SELECT @@have_innodb.
(Bug #9613 (http://bugs.mysql.com/9613))
* A UNION of long utf8 VARCHAR columns was sometimes returned as a
column with a LONGTEXT data type rather than VARCHAR. This could
prevent such queries from working at all if selected into a
MEMORY table because the MEMORY storage engine does not support
the TEXT data types. (Bug #12537 (http://bugs.mysql.com/12537))
* NDB Cluster: Corrected the parsing of the CLUSTERLOG command by
ndb_mgm to allow multiple items.
(Bug #12833 (http://bugs.mysql.com/12833))
* NDB Cluster: Improved error messages related to filesystem
issues. (Bug #11218 (http://bugs.mysql.com/11218))
* NDB Cluster: When a schema was detected to be corrupt, ndb
neglected to close it, resulting in a “file already open” error
if the schema was opened again later. written.
(Bug #12027 (http://bugs.mysql.com/12027))
* NDB Cluster: When it could not copy a fragment, ndbd exited
without printing a message about the condition to the error log.
Now the message is written.
(Bug #12900 (http://bugs.mysql.com/12900))
* NDB Cluster: When a disk full condition occurred, ndbd exited
without printing a message about the condition to the error log.
Now the message is written.
(Bug #12716 (http://bugs.mysql.com/12716))
* If a client has opened an InnoDB table for which the .ibd file
is missing, InnoDB would not honor a DROP TABLE statement for
the table. (Bug #12852 (http://bugs.mysql.com/12852))
* SELECT GROUP_CONCAT(...) FROM DUAL in a subquery could cause the
client to hang. (Bug #12861 (http://bugs.mysql.com/12861))
* NDB Cluster: Bad values in config.ini caused ndb_mdmd to crash.
(Bug #12043 (http://bugs.mysql.com/12043))
* TRUNCATE TABLE did not work with TEMPORARY InnoDB tables.
(Bug #11816 (http://bugs.mysql.com/11816))
* ALTER TABLE db_name.t RENAME t did not move the table to
default database unless the new name was qualified with the
database name. (Bug #11493 (http://bugs.mysql.com/11493))
* Spatial index corruption could occur during updates.
(Bug #9645 (http://bugs.mysql.com/9645))
* If a DROP DATABASE fails on a master server due to the presence
of a non-database file in the database directory, the master
have the database tables deleted, but not the slaves. To deal
with failed database drops, we now write DROP TABLE statements
to the binary log for the tables so that they are dropped on
slaves. (Bug #4680 (http://bugs.mysql.com/4680))
* DELETE or UPDATE for an indexed MyISAM table could fail. This
was due to a change in end-space comparison behavior from 4.0 to
4.1. (Bug #12565 (http://bugs.mysql.com/12565))
* The ARCHIVE storage engine does not support deletes, but it was
possible to delete by using DELETE or TRUNCATE TABLE with a
FEDERATED table that points to an ARCHIVE table.
(Bug #12836 (http://bugs.mysql.com/12836))
* Queries that created implicit temporary tables could return
incorrect column types for some columns.
(Bug #11718 (http://bugs.mysql.com/11718))
* An optimizer estimate of zero rows for a non-empty InnoDB table
used in a left or right join could cause incomplete rollback for
the table. (Bug #12779 (http://bugs.mysql.com/12779))
* A SELECT DISTINCT query with a constant value for one of the
columns would return only a single row.
(Bug #12625 (http://bugs.mysql.com/12625))
* Users created using an IP address or other alias rather than a
hostname listed in /etc/hosts could not set their own passwords.
(Bug #12302 (http://bugs.mysql.com/12302))
* NDB Cluster: An ALTER TABLE command caused loss of data stored
prior to the issuing of the command.
(Bug #12118 (http://bugs.mysql.com/12118))
* MEMORY tables using B-Tree index on 64-bit platforms could
produce false table is full errors.
(Bug #12460 (http://bugs.mysql.com/12460))
* MySQL failed to compile when --with-ndb-ccflags was specified.
(Bug #11538 (http://bugs.mysql.com/11538))
* On Windows when the --innodb_buffer_pool_awe_mem_mb option has
been given, the server detects whether AWE support is available
and has been compiled into the server, and displays an
appropriate error message if not.
(Bug #6581 (http://bugs.mysql.com/6581))


Enjoy!
Joerg Bruehe


--
Joerg Bruehe, Senior Production Engineer
MySQL AB, www.mysql.com



Edited 1 time(s). Last edit at 10/21/2005 09:08AM by Edwin DeSouza.

Options: ReplyQuote


Subject
Views
Written By
Posted
MySQL 4.1.15 has been released
5353
October 20, 2005 09:25AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.