This is a new Beta development release, fixing recently discovered bugs.
NOTE: This Beta release, as any other pre-production release, should not be installed on production level systems or systems with critical data. It is good practice to back up your data before installing any new version of software. Although MySQL has worked very hard to ensure a high level of quality, protect your data by making a backup as you would for any software beta release. Please refer to our bug database at http://bugs.mysql.com/ for more details about the individual bugs fixed in this version.
この項目は前回のMySQL公式リリース以降に適用されたすべての変更とバグ修正を説明します。更に頻繁でありご使用のバージョンと機能に合わせた更新情報を希望される場合には、MySQLエンタープライズ(商用版MySQL)への登録をお考えください。詳細は、http://www.mysql.com/products/enterpriseをご覧下さい。
Functionality added or changed:
          Incompatible change:
          Previously, you could create a user-defined function (UDF) or
          stored function with the same name as a built-in function, but
          could not invoke the UDF. Now an error occurs if you try to
          create such a UDF. The server also now generates a warning if
          you create a stored function with the same name as a built-in
          function. It is not considered an error to create a stored
          function with the same name as a built-in function because you
          can invoke the function using
          
          syntax. However, the server now generates a warning in this
          case. (Bug#22619, Bug#18239)
        db_name.func_name()
See 項8.2.4. 「構文解析と解像度のファンクション名」, for the rules describing how the server interprets references to different kinds of functions.
          Incompatible change: The
          prepared_stmt_count system variable has
          been converted to the Prepared_stmt_count
          global status variable (viewable with the SHOW GLOBAL
          STATUS statement). (Bug#23159)
        
          NDB Cluster: Two major changes have taken
          place with regard to the MySQL Cluster system tables. These
          are:
        
                Incompatible change:
                The cluster database is no longer
                used. The tables formerly found in the
                cluster database are now in the
                mysql database, and have been renamed
                as ndb_binlog_index,
                ndb_apply_status, and
                ndb_schema.
              
                The mysql.ndb_apply_status and
                mysql.ndb_schema tables (formerly
                cluster.apply_status and
                cluster.schema are now created by
                ndb_restore, in the event that they
                do not already exist on the slave cluster. (Bug#14612)
              
          Note: When upgrading from
          versions of MySQL previous to 5.1.14 to 5.1.14 or later,
          mysql_fix_privilege_tables merely creates a
          new mysql.ndb_binlog_index table, but does
          not remove the existing cluster database
          (or, if upgrading from MySQL 5.1.7 or earlier, the existing
          cluster_replication database), nor any of
          the tables in it.
        
For more information, see 項14.10.4. 「レプリケーション スキーマおよびテーブル」.
          NDB Cluster: It is now possible to create a
          unique hashed index on a column that is not defined as
          NOT NULL. Note that this change
          applies only to tables using the NDB
          storage engine.
        
          Unique indexes on columns in NDB tables do
          not store null values because they are mapped to primary keys
          in an internal index table (and primary keys cannot contain
          nulls).
        
          Normally, an additional ordered index is created when one
          creates unique indexes on NDB table
          columns; this can be used to search for
          NULL values. However, if USING
          HASH is specified when such an index is created, no
          ordered index is created.
        
          The reason for permitting unique hash indexes with null values
          is that, in some cases, the user wants to save space if a
          large number of records are pre-allocated but not fully
          initialized. This also assumes that the user will
          not try to search for null values. Since
          MySQL does not support indexes that are not allowed to be
          searched in some cases, the NDB storage
          engine uses a full table scan with pushed conditions for the
          referenced index columns to return the correct result.
        
          Note that a warning is returned if one creates a unique
          nullable hash index, since the query optimizer should be
          provided a hint not to use it with NULL
          values if this can be avoided.
        
          NDB Cluster: Backup messages are now
          printed to the Cluster log. (Bug#24544)
        
          NDB Cluster: The error message
          Management server closed connection,
          when recorded in the MySQL error log, now includes a timestamp
          indicating when the error took place. (Bug#21519)
        
          NDB Cluster (Disk Data): The output of
          mysqldump now includes by default all
          tablespace and logfile group definitions used by any tables or
          databases that are dumped. (Bug#20839)
        
          Note: The working of the
          --all-tablespaces or -Y
          option for mysqldump remains unaffected by
          this change.
        
          Direct and indirect usage of stored routines, user-defined
          functions, and table references is now prohibited in
          CREATE EVENT and ALTER
          EVENT statements. (Bug#22830)
        
          See 項19.2.1. 「CREATE EVENT Syntax」, and
          項19.2.2. 「ALTER EVENT Syntax」, for more specific information.
        
          DROP TRIGGER now supports an IF
          EXISTS clause. (Bug#23703)
        
Bugs fixed:
          NDB Cluster: If the value set for
          MaxNoOfAttributes is excessive, a suitable
          error message is now returned. (Bug#19352)
        
          NDB Cluster: Setting the configuration
          parameter LockPagesInMainMemory had no
          effect. (Bug#24461)
        
          NDB Cluster: Multiple occurrences of error
          conditions were logged with duplicat error messages rather
          than being being reported with a single error message stating
          that the error was encountered N
          times. (Bug#22313)
        
          NDB Cluster: Sudden disconnection of an SQL
          or data node could lead to shutdown of data nodes with the
          error failed ndbrequire. (Bug#24447)
        
          NDB Cluster: Different error messages were
          returned for similar cases involving failure to allocate
          memory for Cluster operations. (Bug#19203)
        
          NDB Cluster: Some values of
          MaxNoOfTriggers could cause the server to
          become inaccessible following startup of of the data nodes.
          (Bug#19454)
        
          NDB Cluster (Replication): If errors
          occurred during purging of the binary logs, extraneous rows
          could remain left in the binlog_index
          table. (Bug#15021)
        
          NDB Cluster (Disk Data):
          ndb_restore could sometimes fail when
          attempting to restore Disk Data tables due to data node
          failure caused by accessing unitialized memory. (Bug#24331)
        
          NDB Cluster (Disk Data): Excessive
          fragmentation of Disk Data files (including log files and data
          files) could occur during the course of normal use. (Bug#24143)
        
          NDB Cluster (Disk Data): It was possible to
          execute a statement for creating a Disk Data table that
          referred to a nonexistent tablespace, in which case the table
          was an in-memory NDB table. Such a
          statement instead now fails with an appropriate error message.
          (Bug#23576)
        
          NDB Cluster (Disk Data): Under some
          circumstances, a DELETE from a Disk Data
          table could cause mysqld to crash. (Bug#23542)
        
          NDB Cluster (Cluster APIs): Using
          BIT values with any of the comparison
          methods of the NdbScanFilter class caused
          the cluster's data nodes to fail. (Bug#24503)
        
          NDB Cluster: A value equal to or greater
          than the allowed maximum for
          LongMessageBuffer caused all data nodes to
          crash. (Bug#22547)
        
          NDB Cluster: The failure of a data node
          failure during a schema operation could lead to additional
          node failures. (Bug#24752)
        
          NDB Cluster: A committed read could be
          attempted before a data node had time to connect, causing a
          timeout error. (Bug#24717)
        
          NDB Cluster: The simultaneous shutdown of
          mysqld and ndbd
          processes caused unnecessary locking. (Bug#24655)
        
          NDB Cluster: The failure of the master node
          in a node group during the allocation of node IDs could cause
          ndb_mgmd to hang. (Bug#24543)
        
          NDB Cluster: In certain rare cases, a data
          node could crash due to a typographical error in the MySQL
          Cluster source code. (Bug#24476)
        
          NDB Cluster: Creating a new tables
          containing a BLOB column when the server
          was short of memory could cause the server to crash. (Bug#24470)
        
          NDB Cluster: Any statement following the
          execution of CREATE TABLE ... LIKE
           (where
          ndb_tablendb_table was a table using the
          NDB storage engine), would cause the
          mysql client to hang. (Bug#24301)
        
          NDB Cluster: When the management client
          command ALL RESTART -i was executed while
          one data node was not running, all data nodes in the cluster
          were shut down. (Bug#24105)
        
          NDB Cluster: A query using an index scan
          followed by a delete operation, and then a rollback could
          cause one or more data nodes to crash. (Bug#24039)
        
          NDB Cluster (Cluster APIs): Some MGM API
          function calls could yield incorrect return values in certain
          cases where the cluster was operating under a very high load,
          or experienced timeouts in inter-node communications. (Bug#24011)
        
          NDB Cluster: It was possible for the sum of
          the MaxNoOfTables,
          MaxNoOfOrderedIndexes, and
          MaxNoOfUniqueHashIndexes configuration
          parameters, plus the number of system tables to exceed the
          maximum value for a Uint32 number. In such
          a case, the cluster's data nodes failed to start, and no
          reason for this could easily be determined from the error
          messages provided. (Bug#22548)
        
          NDB Cluster: Given a table
          mytbl in a database mydb
          on a MySQL Server acting as an SQL node in a MySQL Cluster,
          then, following multiple ALTER TABLE mytbl
          ENGINE= statements
          — first, to change the storage engine used for a table
          to engineNDB, and then again to change the table
          to use a non-NDB storage engine — a
          DROP DATABASE mydb statement executed on
          any SQL node in the cluster would cause
          mydb to be dropped on
          all SQL nodes in the cluster, even if
          mydb contained non-NDB
          tables. (Bug#21495)
        
          NDB Cluster: An incorrect error message was
          displayed in the event that the value of the
          MaxNoOfOrderedIndexes parameter was set too
          low. (Bug#20065)
        
          NDB Cluster: An incorrect error message was
          displayed in the event that the value of the
          DataMemory parameter was insufficient for
          the amount of data to be stored by the cluster. (Bug#19808)
        
          NDB Cluster: A unique constraint violation
          was not ignored by an UPDATE IGNORE
          statement when the constraint violation occurred on a
          non-primary key. (Bug#18487, Bug#24303)
        
The stack size for NetWare binaries was increased to 128KB to prevent problems caused by insufficient stack size. (Bug#23504)
          Attempting to use a view containing DEFINER
          information for a non-existent user resulted in an error
          message that revealed the definer account. Now the definer is
          revealed only to superusers. Other users receive only an
          access denied message. (Bug#17254)
        
          The size of MEMORY tables and internal
          temporary tables was limited to 4GB on 64-bit Windows systems.
          (Bug#24052)
        
          For debug builds, mysqladmin shutdown
          displayed an extraneous skipped 9 bytes from file:
          socket (3) message. (Bug#21428)
        
          For queries that select from a view, the server was returning
          MYSQL_FIELD metadata inconsistently for
          view names and table names. For view columns, the server now
          returns the view name in the table field
          and, if the column selects from an underlying table, the table
          name in the org_table field. (Bug#20191)
        
          CREATE FUNCTION X() and CREATE
          FUNCTION Y() failed with a syntax error instead of
          warning the user that these function names are already used
          (for GIS functions). (Bug#21025)
        
          The loose index scan optimization for GROUP
          BY with MIN or
          MAX was not applied within other queries,
          such as CREATE TABLE ... SELECT ...,
          INSERT ... SELECT ..., or in the
          FROM clauses of subqueries. (Bug#24156)
        
          Queries using a column alias in an expression as part of an
          ORDER BY clause failed, an example of such
          a query being SELECT mycol + 1 AS mynum FROM mytable
          ORDER BY 30 - mynum. (Bug#22457)
        
          Trailing spaces were not removed from Unicode
          CHAR column values when used in indexes.
          This resulted in excessive usage of storage space, and could
          affect the results of some ORDER BY queries
          that made use of such indexes.
        
          Note: When upgrading, it is
          necessary to re-create any existing indexes on Unicode
          CHAR columns in order to take advantage of
          the fix. This can be done by using a REPAIR
          TABLE statement on each affected table.
        
          Warnings were generated when explicitly casting a character to
          a number (for example, CAST('x' AS
          SIGNED)), but not for implicit conversions in simple
          arithmetic operations (such as 'x' + 0).
          Now warnings are generated in all cases. (Bug#11927)
        
          BENCHMARK, ENCODE,
          DECODE, and FORMAT could
          only accept a constant for some parameters, and could not be
          used in prepared statements. (Bug#22684)
        
          A query with a subquery that references columns of a view from
          the outer SELECT could return an incorrect
          result if used from a prepared statement. (Bug#20327)
        
Constant expressions and some numeric constants used as input parameters to user-defined functions were not treated as constants. (Bug#18761)
          INET_ATON() returned a signed
          BIGINT value, not an unsigned value. (Bug#21466)
        
In some cases, the parser failed to distinguish a user-defined function from a stored function. (Bug#21809)
In some cases, a function that should be parsed as a user-defined function was parsed as a stored function. (Bug#24736)
Subqueries for which a pushed-down condition did not produce exactly one key field could cause a server crash. (Bug#24056)
          LAST_DAY('0000-00-00') could cause a server
          crash. (Bug#23653)
        
          Through the C API, the member strings in
          MYSQL_FIELD for a query that contains
          expressions may return incorrect results. (Bug#21635)
        
          mysql_affected_rows() could return values
          different from mysql_stmt_affected_rows()
          for the same sequence of statements. (Bug#23383)
        
          IN() and CHAR() can
          return NULL, but did not signal that to the
          query processor, causing incorrect results for IS
          NULL operations. (Bug#17047)
        
Instance Manager option-parsing code caused memory-allocation errors. (Bug#22242)
A trigger that invoked a stored function could cause a server crash when activated by different client connections. (Bug#23651)
          CONCURRENT did not work correctly for
          LOAD DATA INFILE. (Bug#20637)
        
          The server source code had multiple exportable definitions of
          the field_in_record_is_null() function.
          These are now all declared static. (Bug#24190)
        
          Inserting a default or invalid value into a spatial column
          could fail with Unknown error rather than a
          more appropriate error. (Bug#21790)
        
The server could send incorrect column count information to the client for queries that produce a larger number of columns than can fit in a two-byte number. (Bug#19216)
          Evaluation of subqueries that require the filesort algorithm
          were allocating and freeing the
          sort_buffer_size buffer many times,
          resulting in slow performance. Now the buffer is allocated
          once and reused. (Bug#21727)
        
          SQL statements close to the size of
          max_allowed_packet could produce binary log
          events larger than max_allowed_packet that
          could not be read by slave servers. (Bug#19402)
        
          View columns were always handled as having implicit
          derivation, leading to illegal mix of collation
          errors for some views in UNION
          operations. Now view column column derivation comes from the
          original expression given in the view definition. (Bug#21505)
        
          If elements in a non-top-level IN subquery
          were accessed by an index and the subquery result set included
          a NULL value, the quantified predicate that
          contained the subquery was evaluated to
          NULL when it should return a
          non-NULL value. (Bug#23478)
        
          Calculation of COUNT(DISTINCT),
          AVG(DISTINCT), or
          SUM(DISTINCT) when they are referenced more
          than once in a single query with GROUP BY
          could cause a server crash. (Bug#23184)
        
          For a cast of a DATETIME value containing
          microseconds to DECIMAL, the microseconds
          part was truncated without generating a warning. Now the
          microseconds part is preserved. (Bug#19491)
        
Metadata for columns calculated from scalar subqueries was limited to integer, double, or string, even if the actual type of the column was different. (Bug#11032)
          The result for CAST() when casting a value
          to UNSIGNED was limited to the maximum
          signed BIGINT value, not the maximum
          unsigned value. (Bug#8663)
        
Some unnecessary Valgrind warnings were removed from the server. (Bug#24488, Bug#24533).
          Using EXPLAIN caused a server crash for
          queries that selected from
          INFORMATION_SCHEMA in a subquery in the
          FROM clause. (Bug#22413)
        
          Invalidating the query cache caused a server crash for
          INSERT INTO ... SELECT statements that
          selected from a view. (Bug#20045)
        
With row-based binary logging, replicated multiple-statement transaction deadlocks did not return the correct error code, causing the slave SQL thread to stop rather than roll back and re-execute. (Bug#23831)
          With row-based binary logging, for CREATE TABLE IF
          NOT EXISTS LIKE
          
          statements, the temporary_tableIF NOT EXISTS clause was
          not logged. (Bug#22762)
        
          With row-based binary logging, CREATE TABLE IF NOT
          EXISTS SELECT statements were not logged properly.
          (Bug#22027)
        
On slave servers, transactions that exceeded the lock wait timeout failed to roll back properly. (Bug#20697)
Changes to character set variables prior to an action on a replication-ignored table were forgotten by slave servers. (Bug#22877)
          With lower_case_table_names set to 1,
          SHOW CREATE TABLE printed incorrect output
          for table names containing Turkish I (LATIN CAPITAL LETTER I
          WITH DOT ABOVE). (Bug#20404)
        
          When applying the group_concat_max_len
          limit, GROUP_CONCAT() could truncate
          multi-byte characters in the middle. (Bug#23451)
        
For view renaming, the table name to filename encoding was not performed. (Bug#21370)
          For some problems relating to character set conversion or
          incorrect string values for INSERT or
          UPDATE, the server was reporting truncation
          or length errors instead. (Bug#18908)
        
          The XPath operators < and
          >, as implemented in the
          ExtractValue() function, operated in
          reverse. (Bug#22823)
        
