Dear MySQL users,

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

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

  http://dev.mysql.com/doc/refman/5.1/en/mysql-nutshell.html

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

  http://dev.mysql.com/doc/refman/5.1/en/installing.html

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

  http://dev.mysql.com/downloads/

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.:

  http://forge.mysql.com/wiki/Contributing

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

  http://dev.mysql.com/doc/refman/5.1/en/open-bugs.html

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

  http://dev.mysql.com/doc/refman/5.1/en/news-5-1-36.html

Enjoy!

=======================================================================

  Functionality added or changed:

    * Important Change: Replication: Previously, incident log
      events were represented as comments in the output from
      mysqlbinlog, making them effectively silent when playing
      back the binlog.
      (An incident log event represents an incident that could
      cause the contents of the database to change without that
      event being recorded in the binary log.)
      This meant that, if the SQL were applied to a server, it
      could potentially lead to the master and the slave having
      different data.  To make it possible to handle incident
      log events without breaking applications that expect the
      previous behavior, the nonsense statement RELOAD DATABASE
      is added to the SQL output for that incident log event,
      which causes an error.
      To use this functionality currently requires hand editing
      of the dump file and handling of each case on an
      individual basis by a database administrator before
      applying the output to a server.
      (Bug#44442: http://bugs.mysql.com/44442)

    * The time zone tables for Windows available at
      timezones.html have been updated.
      (Bug#39923: http://bugs.mysql.com/39923)

    * The mysqltest program now has a move_file from_file
      to_file command for renaming files.  This should be used
      in test cases rather than invoking an external command
      that might be platform specific.
      (Bug#39542: http://bugs.mysql.com/39542)

  Bugs fixed:

    * Incompatible Change: The server can load plugins under
      the control of startup options.  For example, many storage
      engines can be built in pluggable form and loaded when
      the server starts.  In the following descriptions,
      plugin_name stands for a plugin name such as innodb.
      Previously, plugin options were handled like other
      boolean options (see Section 4.2.3.2, "Program Option
      Modifiers").  That is, any of these options enabled the
      plugin:

         --plugin_name
         --plugin_name=1
         --enable-plugin_name

      And these options disabled the plugin:

         --plugin_name=0
         --disable-plugin_name
         --skip-plugin_name

      However, use of a boolean option for plugin loading did
      not provide control over what to do if the plugin failed
      to start properly: Should the server exit, or start with
      the plugin disabled? The actual behavior has been that
      the server starts with the plugin disabled, which can be
      problematic.  For example, if InnoDB fails to start,
      existing InnoDB tables become inaccessible, and attempts
      to create new InnoDB tables result in tables that use the
      default storage engine unless the NO_ENGINE_SUBSTITUTION
      SQL mode has been enabled to cause an error to occur
      instead.
      Now, there is a change in the options used to control
      plugin loading, such that they have a tristate format:

         + --plugin_name=OFF
           Do not enable the plugin.

         + --plugin_name[=ON]
           Enable the plugin.  If plugin initialization fails,
           start the server anyway, but with the plugin
           disabled.  Specifying the option as --plugin_name
           without a value also enables the plugin.

         + --plugin_name=FORCE
           Enable the plugin.  If plugin initialization fails,
           do not start the server.  In other words, force the
           server to run with the plugin or not at all.

      The values OFF, ON, and FORCE are not case sensitive.
      Suppose that CSV and InnoDB have been built as pluggable
      storage engines and that you want the server to load them
      at startup, subject to these conditions: The server is
      allowed to run if CSV initialization fails, but must
      require that InnoDB initialization succeed.  To accomplish
      that, use these lines in an option file:

         [mysqld]
         csv=ON
         innodb=FORCE

      This change is incompatible with the previous
      implementation if you used options of the form
      --plugin_name=0 or --plugin_name=1, which should be
      changed to --plugin_name=OFF or --plugin_name=ON,
      respectively.
      --enable-plugin_name is still supported and is the same
      as --plugin_name=ON. --disable-plugin_name and
      --skip-plugin_name are still supported and are the same
      as --plugin_name=OFF.
      (Bug#19027: http://bugs.mysql.com/19027)

    * Replication: When using row-based logging, the length of
      an event for which the field metadata exceeded 255 bytes
      in size was incorrectly calculated.  This could lead to
      corruption of the binary log, or cause the server to
      hang. (Bug#42749: http://bugs.mysql.com/42749)
      See also Bug#44548: http://bugs.mysql.com/44548,
      Bug#44672: http://bugs.mysql.com/44672,
      Bug#44752: http://bugs.mysql.com/44752.

    * Replication: The warning Statement is not safe to log in
      statement format, issued in situations when it cannot be
      determined that a statement or other database event can
      be written reliably to the binary log using the
      statement-based format, has been changed to Statement may
      not be safe to log in statement format.
      (Bug#42415: http://bugs.mysql.com/42415)

    * Replication: When stopping and restarting the slave while
      it was replicating temporary tables, the slave server
      could crash or raise an assertion failure.  This was due
      to the fact that, although temporary tables were saved
      between slave thread restarts, the reference to the
      thread being used (table->in_use) was not being properly
      updated when restarting, continuing to reference the old
      thread instead of the new one.  This issue affected
      statement-based replication only.
      (Bug#41725: http://bugs.mysql.com/41725)

    * ALTER TABLE on a view crashed the server.
      (Bug#44860: http://bugs.mysql.com/44860)

    * UNCOMPRESSED_LENGTH() returned a garbage result when
      passed a string shorter than 5 bytes.  Now
      UNCOMPRESSED_LENGTH() returns NULL and generates a
      warning. (Bug#44796: http://bugs.mysql.com/44796)

    * Several Valgrind warnings were silenced.
      (Bug#44774: http://bugs.mysql.com/44774,
      Bug#44792: http://bugs.mysql.com/44792)

    * Selecting RAND(N) function where N is a column of a
      constant table (table with a single row) failed with a
      SIGFPE signal. (Bug#44768: http://bugs.mysql.com/44768)

    * Conversion of a string to a different character set could
      use the same buffer for input and output, leading to
      incorrect results or warnings.
      (Bug#44743: http://bugs.mysql.com/44743,
      Bug#44766: http://bugs.mysql.com/44766)

    * mysqld_safe could fail to find the logger program.
      (Bug#44736: http://bugs.mysql.com/44736)

    * A Valgrind warning related to transaction processing was
      silenced. (Bug#44664: http://bugs.mysql.com/44664)

    * innochecksum could incorrectly determine the input file
      name from the arguments.
      (Bug#44484: http://bugs.mysql.com/44484)

    * Incorrect time was reported at the end of mysqldump
      output. (Bug#44424: http://bugs.mysql.com/44424)

    * Caching of GROUP BY expressions could lead to mismatches
      between compile-time and runtime calculations and cause a
      server crash. (Bug#44399: http://bugs.mysql.com/44399)

    * Lettercase conversion in multibyte cp932 or sjis
      character sequences could produce incorrect results.
      (Bug#44352: http://bugs.mysql.com/44352)

    * InnoDB was missing DB_ROLL_PTR information in Table
      Monitor COLUMNS output.
      (Bug#44320: http://bugs.mysql.com/44320)

    * Assertion failure could occur for duplicate-key errors in
      INSERT INTO ... SELECT statements.
      (Bug#44306: http://bugs.mysql.com/44306)

    * On 64-bit Windows systems, myisamchk did not handle
      key_buffer_size values larger than 4GB.
      (Bug#43940: http://bugs.mysql.com/43940)

    * EXPLAIN EXTENDED could crash for UNION queries in which
      the last SELECT was not parenthesized and included an
      ORDER BY clause. (Bug#43612: http://bugs.mysql.com/43612)

    * Multiple-table updates for InnoDB tables could produce
      incorrect results.
      (Bug#43580: http://bugs.mysql.com/43580)

    * For DELETE statements with ORDER BY var, where var was a
      global system variable with a NULL value, the server
      could crash. (Bug#42778: http://bugs.mysql.com/42778)

    * Builds linked against OpenSSL had a memory leak in
      association with use of X509 certificates.
      (Bug#42158: http://bugs.mysql.com/42158)

    * There was a race condition when changing
      innodb_commit_concurrency at runtime from zero to nonzero
      or from nonzero to zero.  Now this variable cannot be
      changed at runtime from zero to nonzero or vice versa.
      The value can still be changed from one nonzero value to
      another. (Bug#42101: http://bugs.mysql.com/42101)

    * SELECT ... INTO @var could produce values different from
      SELECT ... without the INTO clause.
      (Bug#42009: http://bugs.mysql.com/42009)

    * mysql_zap did not work on Mac OS X.
      (Bug#41883: http://bugs.mysql.com/41883)

    * For views created with a column list clause, column
      aliases were not substituted when selecting through the
      view using a HAVING clause.
      (Bug#40825: http://bugs.mysql.com/40825)

    * A multiple-table DELETE involving a table self-join could
      cause a server crash.
      (Bug#39918: http://bugs.mysql.com/39918)

    * Creating an InnoDB table with a comment containing a '#'
      character caused foreign key constraints to be omitted.
      (Bug#39793: http://bugs.mysql.com/39793)

    * The mysql option --ignore-spaces was nonfunctional.
      (Bug#39101: http://bugs.mysql.com/39101)

    * If a query was such as to produce the error 1054 Unknown
      column '...' in 'field list', using EXPLAIN EXTENDED with
      the query could cause a server crash.
      (Bug#37362: http://bugs.mysql.com/37362)

    * If the MYSQL_HISTFILE environment variable was set to
      /dev/null, the mysql client overwrote the /dev/null
      device file as a normal file.
      (Bug#34224: http://bugs.mysql.com/34224)

    * mysqld_safe mishandled certain parameters if they
      contained spaces.
      (Bug#33685: http://bugs.mysql.com/33685)

    * mysqladmin kill did not work for thread IDs larger than
      32 bits. (Bug#32457: http://bugs.mysql.com/32457)

    * Several client programs failed to interpret
      --skip-password as "send no password."
      (Bug#28479: http://bugs.mysql.com/28479)

    * Output from mysql --html did not encode the <, >, or &
      characters. (Bug#27884: http://bugs.mysql.com/27884)

    * mysql_convert_table_format did not prevent converting
      tables to MEMORY or BLACKHOLE tables, which could result
      in data loss. (Bug#27149: http://bugs.mysql.com/27149)

--
Jonathan Perkin, Release Engineering, MySQL
Database Technology Group, Sun Microsystems

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to