Hi, MySQL 4.1.9, 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.9: Functionality added or changed: * The naming scheme of the Windows installation packages has changed slightly: + The platform suffix was changed from -win to -win32 + The product descriptions -noinstall and -essential have been moved in front of the version number Examples: `mysql-essential-4.1.9-win32.msi', `mysql-noinstall-4.1.9-win32.zip' See section 2.3 Installing MySQL on Windows. * The Mac OS X 10.3 installation disk images now include a MySQL Preference Pane for the Mac OS X Control Panel that enables the user to start and stop the MySQL server via the GUI and activate and deactivate the automatic MySQL server startup on bootup. * Seconds_Behind_Master will be NULL (which means ``unknown'') if the slave SQL thread is not running, or if the slave I/O thread is not running or not connected to master. It will be zero if the SQL thread has caught up with the I/O thread. It no longer grows indefinitely if the master is idle. * InnoDB: Do not acquire an internal InnoDB table lock in LOCK TABLES if AUTOCOMMIT=1. This helps in porting old MyISAM applications to InnoDB. InnoDB table locks in that case caused deadlocks very easily. * InnoDB: Print a more descriptive error and refuse to start InnoDB if the size of `ibdata' files is smaller than what is stored in the tablespace header; innodb_force_recovery overrides this. * The MySQL server aborts immediately instead of simply issuing a warning if it is started with the --log-bin option but cannot initialize the binary log at startup (that is, an error occurs when writing to the binary log file or binary log index file). * The binary log file and binary log index file now behave like MyISAM when there is a "disk full" or "quota exceeded" error. See section 4.3 How MySQL Handles a Full Disk. * New implementation of shared memory transporter (for Cluster). * Cluster will automatically configure shared memory transporter if possible. * Cluster will prioritize usage of transporters with shared memory and localhost TCP * Added switches to control the above functions, ndb-shm and ndb-optimized-node-selection. Bugs fixed: * InnoDB: Fixed the *critical bug* if you enabled innodb_file_per_table in `my.cnf'. If you shut down mysqld, records could disappear from the secondary indexes of a table. (Bug #7496) * InnoDB: Fixed a bug: 32-bit mysqld binaries built on HP-UX-11 did not work with InnoDB files greater than 2 GB in size. (Bug #6189) * InnoDB: Return a sensible error code from DISCARD TABLESPACE if it fails because the table is referenced by a FOREIGN KEY. * InnoDB: Fixed a bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a FOREIGN KEY constraint. * InnoDB: Fixed a bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(). * InnoDB: Fix a little bug: we looked at the physical size of a stored SQL NULL value from a wrong field in the index; this has probably caused no bugs visible to the user. It caused only some extra space to be used in some rare cases. * InnoDB: Use the fcntl() file flush method on Mac OS X versions 10.3 and up. Apple had disabled fsync() in Mac OS X for internal disk drives, which caused corruption at power outages. * mysqladmin password now checks whether the server has --old-passwords turned on or predates 4.1 and uses the old-format password if so. (Bug #7451) * Added a --default-character-set option to mysqladmin to avoid problems when the default character set is not latin1. (Bug #7524) * Fix a problem with truncation of FLOAT values. (Bug #7361) * Fixed a bug in PROCEDURE ANALYSE(), which did not quote some ENUM values properly. (Bug #2813) * Fixed a bug that caused incorrect results for complex datetime expressions containing casts of datetime values to TIME or DATE values. (Bug #6914) * Include compression library flags in the output from mysql_config --lib_r. (Bug #7021) * Corrected a problem with mysql_config not producing all relevant flags from CFLAGS. (Bug #6964) * Corrected a problem with mysqld_safe not properly capturing output from ps. (Bug #5878) * Fixed a bug that caused a linking failure when linking both the MySQL client library and IMAP library. (Bug #7428) * Fixed a bug that caused microseconds to be gobbled from the string result of the STR_TO_DATE function, if there is some other specifier in the format string following %f. (Bugs #7458) * Made the MySQL server accept executing SHOW CREATE DATABASE even if the connection has an open transaction or locked tables. Refusing it made mysqldump --single-transaction sometimes fail to print a complete CREATE DATABASE statement for some dumped databases. (Bug #7358) * Fixed that, when encountering a ``disk full'' or ``quota exceeded'' write error, MyISAM sometimes didn't sleep and retry the write, thus resulting in a corrupted table. (Bug #7714) * Fixed that --expire-log-days was not honored if using only transactions. (Bug #7236) * Fixed that a slave could crash after replicating many ANALYZE TABLE, OPTIMIZE TABLE, or REPAIR TABLE statements from the master. (Bug #6461, Bug #7658) * ndb_restore fails to handle blobs and multiple databases (Bug #7379) * ndb_restore enters infinite loop (Bug #7346) * ndb_mgmd is aborted on startup when using SHM connection (Bug #7124) Enjoy! Matt -- Matt Wagner, Production Engineer MySQL AB, www.mysql.com Northfield, MN, USA -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]