MySQL Forums
Forum List  »  Announcements

MySQL 4.1.8 has been released
Posted by: Jörg Brühe
Date: December 16, 2004 01:22PM

Hi,

MySQL 4.1.8, 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://dev.mysql.com/downloads/ and mirror sites.

Note that not all mirror sites may be up-to-date at this point. If you
cannot find this version on a particular mirror, please try again later
or choose another download site.

This is a bug fix release for the current production series.

Please refer to our bug database at http://bugs.mysql.com/ for more
details about the individual open and resolved bugs in this version.

Changes in release 4.1.8:

   Functionality added or changed:
     * For ALTER DATABASE, the database name now can be omitted to apply
       the change to the default database.
     * Added WITH CONSISTENT SNAPSHOT clause to START TRANSACTION to
       begin a transaction with a consistent read.
     * Added --order-by-primary to mysqldump, to sort each table's data
       in a dump file. This may be useful when dumping a MyISAM table
       which will be loaded into an InnoDB table. Dumping a MyISAM table
       with this option is considerably slower than without.
     * InnoDB: Do not periodically write SHOW INNODB STATUS information
       to a temporary file unless the configuration option
       innodb_status_file=1 is set.
     * InnoDB: Commit after every 10,000 copied rows when executing ALTER
       TABLE. This makes it much faster to recover from an aborted ALTER
       TABLE or OPTIMIZE TABLE.
     * FULLTEXT index block size is changed to be 1024 instead of 2048.
     * Added --disable-log-bin option to mysqlbinlog. Using this option
       you can disable binary logging for the statements produced by
       mysqlbinlog. That is, mysqlbinlog --disable-log-bin <file_name> |
       mysql won't write any statements to the MySQL server binary log.
     * The --master-data option for mysqldump now takes an optional
       argument of 1 or 2 to produce a non-commented or commented CHANGE
       MASTER TO statement. The default is 1 for backward compatibility.
     * mysqldump --single-transaction --master-data now is able to take
       an online (non-blocking) dump of InnoDB and report the
       corresponding binary log coordinates. This makes a backup suitable
       for point-in-time recovery, roll-forward or replication slave
       creation. See section 8.8 The mysqldump Database Backup
       Program.
     * Added --lock-all-tables to mysqldump to lock all tables by
       acquiring a global read lock.
     * Added --hex-blob option to mysqldump for dumping binary string
       columns using hexadecimal notation.
     * Added mysql_hex_string() C API function that hex-encodes a string.
     * In the normal log MySQL now prints the logposition for Binlog Dump
       requests.
     * Added [mysql_cluster] section to `my.cnf' file for configuration
       settings specific to MySQL Cluster. ndb-connectstring variable
       moved here.
     * A connection doing a rollback will now display "Rolling back" in
       the State column of SHOW PROCESSLIST.
     * mysqlbinlog now prints an informative commented line (thread id,
       timestamp, server id, etc) before each LOAD DATA INFILE, like it
       already does for other queries; unless --short-form is used.
     * Default port for ndb_mgmd was changed to 1186 (from 2200) as this
       port number was officially assigned to MySQL Cluster by IANA.
     * New command in ndb_mgm, PURGE STALE SESSIONS, as a workaround for
       cases where nodes fail to allocate a node id even if it is free to
       use.
     * New command in ndb_mgm, CONNECT.
     * The ndb executables have been changed to make use of the regular
       MySQL command line option parsing features. See section
       16.4.5 Command Options for MySQL Cluster Processes for notes
       on changes.
     * As bonus of the above you can now specify all command line options
       in `my.cnf' using the executable names as sections, i.e. [ndbd],
       [ndb_mgmd], [ndb_mgm], [ndb_restore] etc.
      [ndbd]
      ndb-connectstring=myhost.domain.com:1234
      [ndb_mgm]
      ndb-connectstring=myhost.domain.com:1234
     * Added use of section [mysql_cluster] in `my.cnf'. All cluster
       executables, including mysqld, parse this section. Convenient
       place to put e.g. ndb-connectstring so that it only needs to be
       specified once.
     * Added cluster log info events on allocation and deallocation of
       node ids.
     * Added cluster log info events on connection refuse as a result of
       version mismatch.
     * Extended connectstring syntax to allow for leaving the port number
       out. E.g. ndb-connectstring|connect-string=myhost1,myhost2,myhost3
       is a valid connectstring and connect will occur on default port
       1186.
     * Clear text ndb error messages are also provided for error codes that
       are mapped to corresponding mysql error codes, by executing SHOW
       WARNINGS after an error has occurred which relates to the ndb
       storage engine.
     * Significant performance improvements [with NDB storage engine] done
       for read performance, especially for blobs.
     * Added some variables for performance tuning, ndb_force_send and
       ndb_use_exact_count. Do show variables like 'ndb%'; in mysql
       client for listing. Use set command to alter variables.
     * Added variables to set some options, ndb_use_transactions and
       ndb_autoincrement_prefetch_sz.

   Bugs fixed:
     * InnoDB: Refuse to open new-style tables created with MySQL 5.0.3
       or later. (Bug #7089)
     * Fixed incorrect referencing to column by name from subquery to
       outer query in case of using temporary table by outer query and
       placing subquery in the WHERE clause. (Bug #7079)
     * InnoDB: Do not call rewind() when displaying SHOW INNODB STATUS
       information on stderr.
     * Fixed a bug in authentication code that allowed a malicious user
       to crash the server with specially crafted packets (using a
       modified client library). (Bug #7187)
     * Fixed a crashing bug in a string function LEFT, when this function
       is part of the expression which is used as GROUP BY field. (Bug
       #7101)
     * Fixed bug which caused MySQL to require privileges on system time
       zone description tables for implicit access to them (i.e. if one
       set time_zone variable or used CONVERT_TZ() function) in case when
       some table-level or column-level privileges existed. (Bug #6765)
     * mysql_stmt_data_seek(stmt,0) will now rewind a counter and enable
       that buffered rows can be re-fetched on the client side. (Bug
       #6996)
     * Fixed an insufficient privilege check in SHOW CREATE TABLE
       command. (Bug #7043)
     * Fixed a rare memory corruption (that resulted in a crash) in MATCH
       ... AGAINST on columns that use multi-byte character sets. (Bug
       #6269)
     * Fixed NULL processing in ALL/SOME subqueries. (Bug #6247)
     * Fixed execution complex queries with subqueries. (Bug #6406, Bug
       #6841)
     * Fixed initialization of some internal structures for first
       execution. (Bug #6517)
     * Backported a fix for the fulltext interface from MySQL 5.0. (Bug
       #6523)
     * Fixed NULL value handling in case of empty results in subqueries.
       (Bug #6806)
     * Prevent adding CREATE TABLE .. SELECT query to the binary log when
       the insertion of new records partially failed. (Bug #6682)
     * INSERT ... SELECT no longer reports spurious "column truncated"
       warnings (Bug #6284)
     * Fixed a bug that could cause "Record has changed since last read
       in table" error message in some queires on HEAP tables that
       contain only one row. (Bug #6748)
     * mysqld_safe was in many cases ignoring any --no-defaults,
       --defaults-file, or --defaults-extra-file arguments. Those
       arguments are now honored, and this may change what options are
       passed to mysqld in some installations.
     * The server was interpreting CHAR BINARY and VARCHAR BINARY columns
       from 4.0 tables as having the BINARY and VARBINARY data types. Now
       they are interpreted as CHAR and VARCHAR columns that have the
       binary collation of the column's character set. (This is the same
       way that CHAR BINARY and VARCHAR BINARY are handled for new tables
       created in 4.1.)
     * Fixed spurious "duplicate key" error from REPLACE or INSERT ... ON
       DUPLICATE KEY UPDATE statements performing multiple-row insert in
       the table that had unique and fulltext indexes. (Bug #6784)
     * Fixed a bug in execution of subqueries in SET and DO statements
       which caused wrong results to be returned from subsequent queries.
       (Bug #6462)
     * Fixed a bug which allowed server to accept datetime values with
       wrong year part. Also now server will perform same checks for
       datetime values passed through MYSQL_TIME structure as for
       datetime values passed as strings. (Bug #6266)
     * Fixed a bug with INSERT for a table with FULLTEXT indexes. Under
       rare circumstances, this could result in a corrupted table if
       words of different lengths may be considered equal. This is
       possible in some collations, for example, in utf8_general_ci or
       latin1_german2_ci. (Bug #6265)
     * InnoDB: Made the foreign key parser better aware of quotes. (Bug
       #6340)
     * InnoDB: If one used INSERT IGNORE to insert several rows at a
       time, and the first inserts were ignored because of a duplicate
       key collision, then InnoDB in a replication slave assigned
       AUTO_INCREMENT values 1 bigger than in the master. This broke the
       MySQL replication. (Bug #6287)
     * InnoDB: Fixed a bug: InnoDB ignored in innodb_data_file_path the
       max specification in :autoextend:max:2000M. This bug was
       introduced in 4.1.1.
     * InnoDB: Fixed a bug: innodb_locks_unsafe_for_binlog still uses
       next-key locking (Bug #6747). InnoDB used next-key locking when
       record matched completely to search tuple. This unnecessary
       next-key locking is now removed when
       innodb_locks_unsafe_for_binlog option is used.
     * InnoDB: Fix two hangs: FOREIGN KEY constraints treated table and
       database names as case-insensitive. RENAME TABLE t TO T would hang
       in an endless loop if t had a foreign key constraint defined on
       it. Fix also a hang over the dictionary mutex that would occur if
       one tried in ALTER TABLE or RENAME TABLE to create a foreign key
       constraint name that collided with another existing name. (Bug
       #3478)
     * If STMT_ATTR_UPDATE_MAX_LENGTH is set for a prepared statement,
       mysql_stmt_store_result() will update field->max_length for
       numeric columns as well. (Bug#6096)
     * Prepared statements now handle zerofill when converting integer to
       string.
     * Fixed crash when a call to mysql_stmt_store_result() occurred
       without a preceding call to mysql_stmt_bind_result().
     * Fixed crash in prepared statements when using SELECT * FROM t1
       NATURAL JOIN t2....
     * Fixed crash in prepared statements when using SELECT ...
       PROCEDURE.
     * Fixed crash in prepared statements when using subqueries.
     * GROUP_CONCAT(...ORDER BY) when used with prepared statements gave
       wrong sorting order. CREATE TABLE created_table didn't signal when
       table was created. This could cause a DROP TABLE created_table in
       another thread to wait "forever".
     * Server warnings now are reset when you execute a prepared
       statement.
     * Improved performance of identifier comparisons (if many tables or
       columns are specified).
     * OPTIMIZE TABLE, REPAIR TABLE, and ANALYZE TABLE are now replicated
       without any error code in the binary log. (Bug #5551)
     * LOAD DATA INFILE now works with option replicate-rewrite-db. (Bug
       #6353)
     * Fixed a bug which caused a crash when only the slave I/O thread
       was stopped and started. (Bug #6148)
     * Changed semantics of CREATE/ALTER/DROP DATABASE statements so that
       replication of CREATE DATABASE is possible when using
       --binlog-do-db and --binlog-ignore-db. (Bug #6391)
     * If a connection had an open transaction but had done no updates to
       transactional tables (for example if had just done a SELECT FOR
       UPDATE then executed a non-transactional update, that update
       automatically committed the transaction (thus releasing InnoDB's
       row-level locks etc). (Bug #5714)
     * If a connection was interrupted by a network error and did a
       rollback, the network error code got stored into the BEGIN and
       ROLLBACK binary log events; that caused superfluous slave stops.
       (Bug #6522)
     * A sequence of BEGIN (or SET AUTOCOMMIT=0), FLUSH TABLES WITH READ
       LOCK, transactional update, COMMIT, FLUSH TABLES WITH READ LOCK
       could hang the connection forever and possibly the MySQL server
       itself. This happened for example when running the innobackup
       script several times. (Bug #6732)
     * mysqlbinlog did not print SET PSEUDO_THREAD_ID statements in front
       of LOAD DATA INFILE statements inserting into temporary tables,
       thus causing potential problems when rolling forward these
       statements after restoring a backup. (Bug #6671)
     * (Bug #6919) all status only shows 2 nodes on an 8-node cluster
     * (Bug #6871) DBD execute failed: Got error 897 'Unknown error code'
       from ndbcluster
     * (Bug #6791) Segmentation fault when config.ini is not correctly
       set
     * (Bug #6775) failure in acc when running many mysql clients
     * (Bug #6696) ndb_mgm command line options inconsistent with
       behaviour
     * (Bug #6684) ndb_restore doesn't give error messages if improper
       command given
     * (Bug #6677) ndb_mgm can crash on "ALL CLUSTERLOG"
     * (Bug #6538) Error code returned when select max() on empty table
       with index
     * (Bug #6451) failing create table gives "ghost" tables which are
       impossible to remove
     * (Bug #6435) strange behaviour of left join
     * (Bug #6426) update with long pk fails
     * (Bug #6398) update of primary key fails
     * (Bug #6354) mysql does not complain about --ndbcluster option when
       NDB is not compiled in
     * (Bug #6331) INSERT IGNORE .. SELECT breaks subsequent inserts
     * (Bug #6288) cluster nodes crash on data import
     * (Bug #6031) To drop database you have to execute DROP DATABASE
       command twice
     * (Bug #6020) LOCK TABLE + delete returns error 208
     * (Bug #6018) REPLACE does not work for BLOBs + NDB
     * (Bug #6016) Strange crash with blobs + different DATABASES
     * (Bug #5973) ndb table belonging to different database shows up in
       show tables
     * (Bug #5872) ALTER TABLE with blob from ndb table to myisam fails
     * (Bug #5844) Failing mysql-test-run leaves stray NDB processes
       behind
     * (Bug #5824) HELP text messed up in ndb_mgm
     * (Bug #5786) Duplicate key error after restore
     * (Bug #5785) lock timeout during concurrent update
     * (Bug #5782) Unknown error when using LIMIT with ndb table
     * (Bug #5756) RESTART node from ndb_mgm fails
     * A few more not reported [NDB] bugs fixed

Enjoy!

   Joerg

Options: ReplyQuote


Subject
Views
Written By
Posted
MySQL 4.1.8 has been released
5195
December 16, 2004 01:22PM


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.