MySQL Lists are EOL. Please join:

List:Announcements« Previous MessageNext Message »
From:Kent Boortz Date:December 31 2009 11:26pm
Subject:MySQL Community Server 5.1.42 has been released
View as plain text  
Dear MySQL users,

MySQL Community Server 5.1.42, a new version of the popular Open
Source Database Management System, has been released.  MySQL 5.1.42 is
recommended for use on production systems.

For an overview of what's new in MySQL 5.1, please see

For information on installing MySQL 5.1.42 on new servers or upgrading
to MySQL 5.1.42 from previous MySQL releases, please see

MySQL Server is available in source and binary form for a number of
platforms from our download pages at

Not all mirror sites may be up to date at this point in time, so if
you can't find this version on some mirror, please try again later or
choose another download site.

We welcome and appreciate your feedback, bug reports, bug fixes,
patches, etc.:

For information on open issues in MySQL 5.1, please see the errata
list at

The following section lists the changes in the MySQL source code since
the previous released version of MySQL 5.1.  It may also be viewed
online at



Changes in MySQL 5.1.42

  Release availability:

    * MySQL Server 5.1 is available on the following new
      platforms starting with the 5.1.42 release:

         + Mac OS X 10.6 x86/x64
         + HP-UX 11.31 IA64
         + SLES 11 x86/x64

 Important Change:

      Replication: The following functions
      have been marked unsafe for statement-based replication:

         + GET_LOCK()
         + IS_FREE_LOCK()
         + IS_USED_LOCK()
         + MASTER_POS_WAIT()
         + RELEASE_LOCK()
         + SLEEP()
         + SYSDATE()
         + VERSION()

      None of the functions just listed are guaranteed to
      replicate correctly when using the statement-based
      format, because they can produce different results on the
      master and the slave. The use of any of these functions
      while binlog_format is set to STATEMENT is logged with
      the warning, Statement is not safe to log in statement
      format. When binlog_format is set to MIXED, the binary
      logging format is automatically switched to the row-based
      format whenever one of these functions is used.

  InnoDB Plugin Notes:

    * InnoDB Plugin has been upgraded to version 1.0.6. This
      version is considered of Release Candidate (RC) quality.
      The InnoDB Plugin Change History
      may contain information in addition to those changes
      reported here.

  Bugs fixed:

    * Performance: When the query cache is fragmented, the size of
      the free block lists in the memory bins grows, which causes
      query cache invalidation to become slow. There is now a 50ms
      timeout for a SELECT statement waiting for the query cache
      lock. If the timeout expires, the statement executes without
      using the query cache.

    * Partitioning: In some cases, it was not possible to add a new
      column to a table that had subpartitions.

    * Partitioning: SELECT COUNT(*) from a partitioned table failed
      when using the ONLY_FULL_GROUP_BY SQL mode.
      This regression was introduced by

    * Partitioning: SUBPARTITION BY KEY failed with DEFAULT

    * Replication: When using row-based logging, TRUNCATE TABLE was
      written to the binary log even if the affected table was
      temporary, causing replication to fail.

    * Replication: Replicating TEXT or VARCHAR columns declared as
      NULL on the master but NOT NULL on the slave caused the slave
      to crash. (Bug#43789:
      See also Bug#38850:,

    * InnoDB did not reset table AUTO_INCREMENT values to the last
      used values after a server restart.

    * Privileges for stored routines were ignored for mixed-case
      routine names.
      See also Bug#41049:

    * Building MySQL on Fedora Core 12 64-bit would due to errors in
      comp_err. (Bug#48864:

    * Concurrent ALTER TABLE operations on an InnoDB table could
      raise an assertion.

    * During query execution, ranges could be merged incorrectly for
      OR operations and return an incorrect result.

    * The InnoDB Table Monitor reported the FLOAT and DOUBLE data
      types incorrectly.

    * With row-based binary logging, the server crashed for
      statements of the form CREATE TABLE IF NOT EXISTS
      existing_view LIKE temporary_table. This occurred because the
      server handled the existing view as a table when logging the
      statement. (Bug#48506:

    * DISTINCT was ignored for queries with GROUP BY WITH ROLLUP and
      only const tables.

    * Loose index scan was inappropriately chosen for some WHERE

    * A bad typecast could cause query execution to allocate large
      amounts of memory.

    * On Windows, InnoDB could not be built as a statically linked
      library. (Bug#48317:

    * When running mysql_secure_installation, the command would fail
      if the root password contained multiple spaces, \, # or quote

    * MATCH IN BOOLEAN MODE searches could return too many results
      inside a subquery.

    * Connecting to a 4.1.x server from a 5.1.x or higher mysql
      client resulted in a memory-free error when disconnecting.

    * Assignment of a system variable sharing the same base name as
      a declared stored program variable in the same context could
      lead to a crash.

    * The innodb_file_format_check system variable could not be set
      at runtime to DEFAULT or to the value of a user-defined
      variable. (Bug#47167:

    * Valgrind errors for InnoDB Plugin were corrected.

    * On 64-bit systems, --skip-innodb did not skip InnoDB startup.

    * Truncation of DECIMAL values could lead to assertion failures;
      for example, when deducing the type of a table column from a
      literal DECIMAL value.
      See also Bug#48370:

    * For YEAR(2) values, MIN(), MAX(), and comparisons could yield
      incorrect results.

    * The server could crash when attempting to access a
      non-conformant mysql.proc system table. For example, the
      server could crash when invoking stored procedure-related
      statements after an upgrade from MySQL 5.0 to 5.1 without
      running mysql_upgrade.

    * When running mysql_secure_installation on Windows, the command
      would fail to load a required module, Term::ReadKey, which was
      required for correct operation.

    * If the --log-bin server option was set to a directory name
      with a trailing component separator character, the basename of
      the binary log files was empty so that the created files were
      named .000001 and .index. The same thing occurred with the
      --log-bin-index, --relay-log, and --relay-log-index options.
      Now the server reports and error and exits.

    * On some Windows systems, InnoDB could report Operating system
      error number 995 in a file operation due to transient driver
      or hardware problems. InnoDB now retries the operation and
      adds Retry attempt is made to the error message.

    * Replication: When using row-based format, replication
      failed with the error Could not execute Write_rows event
      on table ...; Field '...' doesn't have a default value
      when an INSERT was made on the master without specifying
      a value for a column having no default, even if strict
      server SQL mode was not in use and the statement would
      otherwise have succeeded on the master. Now the SQL mode
      is checked, and the statement is replicated unless strict
      mode is in effect. For more information, see Section
      5.1.8, "Server SQL Modes."
      See also

    * The result of comparison between nullable BIGINT and INT
      columns was inconsistent.

    * Incorrect cache initialization prevented storage of
      converted constant values and could produce incorrect
      comparison results.

    * Comparisons involving YEAR values could produce incorrect
      See also

    * If a query involving a table was terminated with KILL, a
      subsequent SHOW CREATE TABLE for that table caused a
      server crash.

    * If the InnoDB tablespace was configured with too small a
      value, the server could crash and corrupt the tablespace.

    * Parts of the range optimizer could be initialized
      incorrectly, resulting in Valgrind errors.

    * On Windows, InnoDB could not be built as a statically
      linked library.

    * mysql_secure_installation did not work on Solaris.

    * Using REPLACE to update a previously inserted negative
      value in an AUTO_INCREMENT coumn in an InnoDB table
      caused the table auto-increment value to be updated to

    * If a session held a global read lock acquired with FLUSH
      TABLES WITH READ LOCK, a lock for one table acquired with
      LOCK TABLES, and issued an INSERT DELAYED statement for
      another table, deadlock could occur.

    * The mysql client status command displayed an incorrect
      value for the server character set.

    * After a binary upgrade to MySQL 5.1 from a MySQL 5.0
      installation that contains ARCHIVE tables, accessing
      those tables caused the server to crash, even if you had
      run mysql_upgrade or CHECK TABLE ... FOR UPGRADE.
      To work around this problem, use mysqldump to dump all
      ARCHIVE tables before upgrading, and reload them into
      MySQL 5.1 after upgrading. The same problem occurs for
      binary downgrades from MySQL 5.1 to 5.0.

    * The IGNORE clause on a DELETE statement masked an SQL
      statement error that occurred during trigger processing.

    * The return value was not checked for some
      my_hash_insert() calls.

    * Use of InnoDB monitoring (SHOW ENGINE INNODB STATUS or
      one of the InnoDB Monitor tables) could cause a server
      crash due to invalid access to a shared variable in a
      concurrent environment. This is a further fix for a
      regression introduced in MySQL 5.1.38 to the original fix
      in MySQL 5.1.31.

    * If a comparison involved a constant value that required
      type conversion, the converted value might not be cached,
      resulting in repeated conversion and poorer performance.

    * Using the SHOW ENGINE INNODB STATUS statement when using
      partitions in InnoDB tables caused Invalid (old?) table
      or database name errors to be logged.

    * The Mac OS X 10.6 MySQL preference panel now contains
      x86 64-bit binaries.


Kent Boortz, Hery Ramilison, Karen Langford, MySQL Release Engineers
Database Group, Sun Microsystem Inc.
MySQL Community Server 5.1.42 has been releasedKent Boortz1 Jan