Quantcast
Channel: MySQL Forums - Announcements
Viewing all 1041 articles
Browse latest View live

MySQL Enterprise Monitor 3.0.24 has been released (no replies)

$
0
0
We are pleased to announce that MySQL Enterprise Monitor 3.0.24 is now
available for download on the My Oracle Support (MOS) web site. It
will also be available via the Oracle Software Delivery Cloud with the
September update in a few weeks. MySQL Enterprise Monitor is a
commercial extension to the MySQL family of products.

This is a maintenance release that includes a few enhancements and
fixes a number of bugs. You can find more information on the contents
of this release in the change log:

http://dev.mysql.com/doc/relnotes/mysql-monitor/3.0/en/news-3-0-24.html
(also included at the end of this note for convenience)

You will find binaries for the new release on My Oracle Support:

https://support.oracle.com

Choose the "Patches & Updates" tab, and then choose the "Product or
Family (Advanced Search)" side tab in the "Patch Search" portlet.

You will also find the binaries on the Oracle Software Delivery Cloud
in a few weeks:

http://edelivery.oracle.com/

Choose "MySQL Database" as the Product Pack and you will find the
Enterprise Monitor along with other MySQL products.

More information on MySQL Enterprise Monitor 3.0 is available here:

What's new in MySQL Enterprise Monitor 3.0?
http://dev.mysql.com/doc/mysql-monitor/3.0/en/mem-comparison-2-3.html

MySQL Enterprise Edition: Demos
http://www.mysql.com/products/enterprise/demo.html

MySQL Enterprise Monitor Frequently Asked Questions
http://dev.mysql.com/doc/mysql-monitor/3.0/en/mem-faq.html

MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.0/en/

More information on MySQL Enterprise and the Enterprise Monitor can be
found here:

http://www.mysql.com/products/enterprise/
http://www.mysql.com/products/enterprise/monitor.html
http://www.mysql.com/products/enterprise/query.html
http://forums.mysql.com/list.php?142

If you are not a MySQL Enterprise customer and want to try the Monitor
and Query Analyzer using our 30-day free customer trial, go to
http://www.mysql.com/trials, or contact Sales at
http://www.mysql.com/about/contact.

If you haven't looked at 3.0 recently, please do so now and let us
know what you think.

Thanks and Happy Monitoring!

- The MySQL Enterprise Tools Development Team

==========

Changes in MySQL Enterprise Monitor 3.0.24

Functionality Added or Changed

* Printing graph pages from MySQL Enterprise Monitor User Interface is
improved in this version. For example, graphs are no longer split
over page breaks, user-interface elements, such as buttons and the
Asset Selector, are no longer included in the output, and so on.

A Print button is added on the All Timeseries Graphs page. (Bug
#11750489)

* The OpenSSL library bundled with MySQL Enterprise Service Manager
and MySQL Enterprise Monitor Agent has been upgraded to OpenSSL
1.0.1p.

* The MySQL database, bundled with the MySQL Enterprise Service
Manager, has been upgraded to MySQL 5.6.26.

Bugs Fixed

* The Event Handler Blackout documentation was unclear and the menu
item on the MySQL Instances page was not described. (Bug #21644880,
Bug #21644615)

* The monitoring agent reported an error if the sql_mode system
variable values were set in a different order from the recommended
sql_mode=
STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER. For
example, if set to sql_mode=
STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION many
errors are logged, even though all the values are valid.

As of this release, the agent checks only for the presence of the
sql_mode values, not their order. (Bug #21625895)

* It was not possible to save changes to the Query Analysis Reporting
advisor if the application locale was set to anything other than
English. (Bug #21535581)

* MySQL 5.7.8 instances were reported as down, even though they were
running. This was caused by the behavior of the default value (OFF)
of the variable show_compatibility_56 in MySQL 5.7.8. If this
variable is set to OFF, INFORMATION_SCHEMA.GLOBAL_STATUS and
INFORMATION_SCHEMA.GLOBAL_VARIABLES did not return any results, such
as UPTIME. As a result the instance was reported as down.

As of this release, the Agent always uses
PERFORMANCE_SCHEMA.GLOBAL_STATUS on MySQL 5.7 versions, and supports
both modes of show_compatibility_56 from version 5.7.9 onwards.

Note: To monitor versions of MySQL 5.7.8, show_compatibility_56 must
be set to OFF.

* It was possible to select graphs, on the Overview dashboard's graph
selector, which were already displayed on the page. The entries were
active in the drop-down list.

This error only occured if no changes had been made to the graphs on
the Overview page.

MySQL Utilities 1.6.2 Beta has been released (no replies)

$
0
0

Dear MySQL users,

This is the BETA release for Utilities 1.6. MySQL Utilities version 1.6.2
is compatible with MySQL Server versions 5.5 and greater. Python v2.6 and
v2.7 are supported.
MySQL Utilities v1.6.2 BETA is available for download from

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

A brief summary of changes is listed below. Please check the CHANGES.txt
file inside the distribution for a more complete list of changes.

MySQL Utilities provides a collection of command-line utilities that are
used for maintaining and administering MySQL servers, including:
  • Admin Utilities (Clone, Copy, Compare, Diff, Export, Import,
    User Management)
  • Replication Utilities (Setup, Configuration, Verification)
  • General Utilities (Disk Usage, Redundant Indexes, Manage Meta &
    Audit Data)
  • And more

Changes in MySQL Utilities 1.6.2 (2015-08-28)

Functionality Added or Changed

  * A new optional --inherit-level parameter was added to the
    mysqlgrants utility. It specifies the inheritance level
    of the grants shown, and is set to either global
    (default), database, or object. (Bug #20302446)

  * Starting with MySQL Utilities 1.6.2, MySQL Fabric is no
    longer included as part of the MySQL Utilities release.
    They are now separate MySQL products with separate
    release cycles.

Bugs Fixed

  * The mysqldbcompare utility's --all option now ignores the
    internal sys schema. (Bug #21415893)

  * The mysqlimport utility would fail with an "Invalid
    Statement" error (errno 1694), when executed against
    MySQL server 5.7.7. (Bug #21327864)

  * The mysqluserclone utility did not properly copy global
    privileges with --include-global-privileges enabled, as
    it attempted to grant privileges to the source user
    instead of the destination user. (Bug #21031993, Bug
    #76938)

  * The mysqlrplsync and mysqldbcompare utilities now
    function correctly when the sys schema is present; a
    schema that is added by default as of MySQL server 5.7.7.
    In other words, the sys schema is no longer
    compared/synced as it is unique to each host. (Bug
    #20979041, Bug #76878)

  * The mysqldbcopy utility failed to copy a database that
    contained permissions to a user not present on the
    destination server when NO_AUTO_CREATE_USER was enabled.
    This is because mysqldbcopy attempted to create the user
    implicitly using the GRANT statement, an operation that
    does not work with NO_AUTO_CREATE_USER. Users are now
    explicitly created before the GRANT statement.
    Related, the NO_AUTO_CREATE_USER sql_mode is enabled by
    default as of MySQL server 5.7.7, and will become default
    behavior in a future release. (Bug #20972389, Bug #76866)

  * The mysqlindexcheck utility would accept options and
    execute when an invalid --server option was passed. A
    valid server connection is now required. Also, the
    utility would report "Using a password on the command
    line interface can be insecure." even when a password was
    not used. (Bug #20960564, Bug #76839)

  * The mysqldbexport utility required SELECT privileges to
    the mysql database when such permissions were not needed,
    even when passing in --skip=procedures,functions. (Bug
    #20953870, Bug #76815)

  * When using the mysqluc console, pressing Home would print
    the 'H' character instead of moving the cursor to the
    beginning of the line, and pressing End would print the
    'F' character instead of moving to the end of the line.
    (Bug #20817994, Bug #76569)

  * Pylint tests were failing with the latest versions of
    pylint and pep8. (Bug #20812836)

  * Several MUT tests were failing with MySQL server 5.7.6.
    (Bug #20756920)

  * MySQL Utilities would hang when a long query using
    Connector/Python 2.1.2 was killed before completion. The
    underlying bug was fixed in Connector/Python 2.1.3. (Bug
    #20519892)
    References: See also Bug #76156.

  * The MySQL Utilities test suite now tests the strict SQL
    mode. (Bug #20411304, Bug #75612)

  * The maximum length of mysql.failover_console.host was set
    to 30 characters. The mysqlfailover utility failed to
    start when host names were longer than this. The new
    maximum length is 255. (Bug #20380999, Bug #75544)

  * Some replication utilities, such as mysqlfailover and
    mysqlrpladmin, would crash with MySQL server 5.7.6 (and
    above) because a new column (Channel_name) was added to
    the mysql.slave_master_info table.
    The utilities were updated to not fail when additional
    columns are added in the future. (Bug #20344064)

  * The mysqldbexport and mysqldbimport utilities failed to
    correctly export/import databases using non-SQL formats
    like CSV, if the database contained a table with compound
    keys. This issue did not happen for the SQL format
    (default), it only occurred for the other available
    formats, such as CSV and TAB. (Bug #20191865)

  * A rpl_admin_gtid test set the gtid_purged variable on the
    master server to create a controllable scenario where a
    slave server was missing GTIDs from the server. However,
    this was a faulty behavior from the server that was fixed
    in 5.6.22 and 5.7.6 via Bug #19012085. (Bug #20161135)

  * The mysqldbimport utility was unable to import multiple
    databases from a single file if the file format was not
    SQL, such as CSV. (Bug #20070400)

  * The mysqldiff failed to generate correct ALTER statements
    that differentiated between DEFAULT NULL and DEFAULT ''.
    (Bug #75236, Bug #20227070)

Reporting Bugs
--------------
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

Enjoy!

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison

MySQL Utilities 1.5.5 has been released (no replies)

$
0
0

Dear MySQL users,

MySQL Utilities version 1.5.5 is a GA release for Utilities 1.5. MySQL
Utilities version 1.5.5 is compatible with MySQL Server versions 5.5
and greater. Python v2.6 and v2.7 are supported.

In addition to server utilities, MySQL Utilities also contains
MySQL Fabric: a framework for managing a collection of MySQL servers.
MySQL Fabric is deployed as a separate service daemon that contains
support for high-availability and sharding. MySQL Utilities supports
Connector/Python version >=1.2.1, and MySQL Fabric requires
Connector/Python version >=2.0.4 and <2.1, or >=2.1.2.

The management framework maintains a database of the routing and
state information for the servers making up the system and provides
an easy-to-use command line interface for adding, removing and
organizing servers.

High-availability is provided by continuously monitoring the servers
and executing slave promotion when the master crashes and just as
importantly automatically updates the state and routing information
that gets messages to the right server.

MySQL Fabric comes with built-in support for sharding either using
ranges or consistent hashing and supports the sharding of multiple
tables to ensure that rows with matching sharding keys are stored
in the same shard. MySQL Fabric also contains support for global
tables that are duplicated on all shards as well as the ability to
synchronize schema updates across all of the servers.

To provide high performance and avoid latency, transactions are
directly routed by Fabric-aware connectors rather than routing via
an external proxy. The connectors dispatch transactions to the
correct shard, perform load-balancing, and handle read-write
splitting. Currently there exists Fabric-aware versions of
Connector/Python, Connector/Java, and Connector/PHP (through a
Fabric-aware mysqlnd_ms plugin).

MySQL Utilities v1.5.5 GA is available for download from
http://dev.mysql.com/downloads/tools/utilities/

A brief summary of changes is listed below. Please check the
CHANGES.txt file inside the distribution for a more complete list
of changes.

Changes in MySQL Utilities 1.5.5 (2015-08-31)


     * Functionality Added or Changed

     * Bugs Fixed

   Functionality Added or Changed

     * In the Fabric configuration file, the backup_user and
       restore_user MySQL user accounts were added to the
       [servers] section, and the [client] section (along with
       its user option) was removed altogether. The Fabric
       configuration file is no longer used by MySQL client
       programs. (Formerly the file was used as the defaults
       file for the MySQL clients via the --defaults-extra-file
       option.)
       For additional information about setting up these MySQL
       accounts for Fabric, see Create the Associated MySQL
       Users
       (http://dev.mysql.com/doc/mysql-utilities/1.5/en/fabric-c
       reate-user.html). (Bug #19682075)

     * For Fabric, an example script was added to the source
       packages to help provide an HA solution using a single
       Fabric node. For related documentation, see
       http://dev.mysql.com/doc/mysql-utilities/1.5/en/fabric-pa
       cemaker.html.

   Bugs Fixed

     * The mysqldbcompare utility's --all option now ignores the
       internal sys schema. (Bug #21415893)

     * The mysqlimport utility would fail with an "Invalid
       Statement" error (errno 1694), when executed against
       MySQL server 5.7.7. (Bug #21327864)

     * For Fabric, executing "server clone" would throw the
       following error; "'NoneType' object has no attribute
       'user'". (Bug #21270905)

     * For Fabric, executing >build_docs without sphinx
       installed would emit an unclear error message. (Bug
       #21242697)

     * For Fabric, errors were emitted for commands executed
       locally using the dispatch method that also contained
       compulsory arguments. (Bug #21214069)

     * With Fabric, MySQL server 5.7.8 and newer would not
       function as a state store, and would instead emit an
       error similar to "Unknown column 'group_id' in 'where
       clause'." (Bug #21120391)
       References: This bug was introduced by Bug #19823076.

     * For Fabric, the default MySQL port is now passed in with
       the server_address when the port number is not explicitly
       defined. (Bug #21043598)

     * In the MySQL RPC protocol, the MySQL Fabric process would
       spin in the "recv" after a connector closed the
       connection, which caused excessive (100%) CPU use. The
       code now detects when an empty chunk is returned from
       "recv", meaning that nothing else will be transferred
       from the client and that the socket is closed.
       In addition, possible header fragmentation is now avoided
       when the process would hang when attempting to read 4
       bytes. (Bug #21042726)

     * The mysqluserclone utility did not properly copy global
       privileges with --include-global-privileges enabled, as
       it attempted to grant privileges to the source user
       instead of the destination user. (Bug #21031993, Bug
       #76938)

     * The mysqlrplsync and mysqldbcompare utilities now
       function correctly when the sys schema is present; a
       schema that is added by default as of MySQL server 5.7.7.
       In other words, the sys schema is no longer
       compared/synced as it is unique to each host. (Bug
       #20979041, Bug #76878)

     * The mysqldbcopy utility failed to copy a database that
       contained permissions to a user not present on the
       destination server when NO_AUTO_CREATE_USER was enabled.
       This is because mysqldbcopy attempted to create the user
       implicitly using the GRANT statement, an operation that
       does not work with NO_AUTO_CREATE_USER. Users are now
       explicitly created before the GRANT statement.
       Related, the NO_AUTO_CREATE_USER sql_mode is enabled by
       default as of MySQL server 5.7.7, and will become default
       behavior in a future release. (Bug #20972389, Bug #76866)

     * The minimum Connector/Python version increased to 2.0.4
       or 2.1.2. (Bug #20766081)
       References: See also Bug #74933, Bug #76579.

     * The mysqlfabric client would exit with a "Connection
       reset by peer" error if a thread was not available when
       using the XML-RPC protocol, although subsequent commands
       would typically succeed. (Bug #20697968)

     * MySQL Utilities would hang when a long query using
       Connector/Python 2.1.2 was killed before completion. The
       underlying bug was fixed in Connector/Python 2.1.3. (Bug
       #20519892)
       References: See also Bug #76156.

     * With Fabric, programming errors could leave some results
       unread and, by consequence, the associated connection
       cannot be used to process other requests until the result
       was read. This issue could break threads that had an
       associated connection as they could not process further
       requests after the first "unread results found" error.
       (Bug #20415833, Bug #75589)

     * Some replication utilities, such as mysqlfailover and
       mysqlrpladmin, would crash with MySQL server 5.7.6 (and
       above) because a new column (Channel_name) was added to
       the mysql.slave_master_info table.
       The utilities were updated to not fail when additional
       columns are added in the future. (Bug #20344064)

     * A SIGUSR1 handler was added to MySQL Fabric. If a SIGUSR1
       signal is sent to the MySQL Fabric process, the stack
       trace of all threads are now sent to the current logger,
       if there is one, otherwise to the stderr stream.
       An empty handler for the SIGINT signal was added just in
       case the MySQL Fabric process is killed by mistake after
       pressing Control + C. To stop the MySQL Fabric process,
       you can either execute "mysqlfabric manage stop", or send
       it the SIGKILL signal.
       Also, stderr was not redirected when the MySQL Fabric
       process was daemonized, so the process would die if
       someone tried to dump a stack trace. Now, 'stderr' is
       redirected to 'os.devnull' (i.e. '/dev/null' for POSIX).
       (Bug #20230459)

     * With Fabric, an interrupted test suite caused future
       executions of the test suite to fail due to test database
       remnants. The test suite now drops existing test
       databases and test users before creating new ones. (Bug
       #20215134, Bug #75217)

     * With Fabric, the test suite now checks if the required
       environment variables, such as MYSQLDUMP and MYSQLCLIENT,
       are set before proceeding. (Bug #20215029, Bug #75215)

     * The [client] section of the Fabric configuration file was
       removed, to avoid confusion with the related [servers]
       section. (Bug #19787441, Bug #74296)
       References: See also Bug #19682075.

Documentation
-------------
Online: http://dev.mysql.com/doc/mysql-utilities/1.5/en/

The source distribution includes the manual pages for each utility under
the docs/ folder.

Reporting Bugs
--------------
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

Enjoy!

On Behalf of the MySQL/ORACLE Utilities and Release Engineering Team,
Murthy Narkedimilli

MySQL Enterprise Monitor 2.3.21 has been released (no replies)

$
0
0
MySQL Enterprise Monitor 2.3.21 is now available for download on the
My Oracle Support (MOS) web site.

This is a maintenance release that updates various third party
components and fixes some bugs. You can find more information on the
contents of this release in the change log:

http://dev.mysql.com/doc/relnotes/mysql-monitor/2.3/en/news-2-3-21.html
(also included at the end of this note for convenience)

You will find binaries for the new release on My Oracle Support:

https://support.oracle.com

Choose the "Patches & Updates" tab, and then choose the "Product or
Family (Advanced Search)" side tab in the "Patch Search" portlet.

Important: MySQL Enterprise Monitor (MEM) 3.0 offers many significant
improvements over MEM 2.3. If you have not already analyzed upgrading
any remaining 2.3 installations to MEM 3.0, we highly recommend you do
so. More information on MEM 3.0 is available here:

What's new in MySQL Enterprise Monitor 3.0?
http://dev.mysql.com/doc/mysql-monitor/3.0/en/mem-comparison-2-3.html

MySQL Enterprise Edition: Demos
http://www.mysql.com/products/enterprise/demo.html

MySQL Enterprise Monitor Frequently Asked Questions
http://dev.mysql.com/doc/mysql-monitor/3.0/en/mem-faq.html

MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.0/en/

More information on MySQL Enterprise and the Enterprise Monitor can be
found here:

http://www.mysql.com/products/enterprise/
http://www.mysql.com/products/enterprise/monitor.html
http://www.mysql.com/products/enterprise/query.html
http://forums.mysql.com/list.php?142

If you are not a MySQL Enterprise customer and want to try the Monitor
and Query Analyzer using our 30-day free customer trial, go to
http://www.mysql.com/trials, or contact Sales at
http://www.mysql.com/about/contact.

Thanks and Happy Monitoring!

- The MySQL Enterprise Tools Development Team

==========

Changes in MySQL Enterprise Monitor 2.3.21

Functionality Added or Changed

* The OpenSSL library bundled with MySQL Enterprise Service Manager
and MySQL Enterprise Monitor Agent has been upgraded to OpenSSL
1.0.1p.

* The bundled libcurl library was upgraded to 7.42.1.

* The MySQL database, bundled with the MySQL Enterprise Service
Manager, has been upgraded to MySQL 5.5.45.

* The bundled Java Runtime Environment was updated to version
1.7.0_80.

Bugs Fixed

* The installer option --mysql_ssl was missing from the documentation
and --usessl was not documented correctly.

MySQL Utilities 1.5.6 has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Utilities version 1.5.6 is a GA release for Utilities 1.5. MySQL
Utilities version 1.5.6 is compatible with MySQL Server versions 5.5
and greater. Python v2.6 and v2.7 are supported.

In addition to server utilities, MySQL Utilities also contains
MySQL Fabric: a framework for managing a collection of MySQL servers.
MySQL Fabric is deployed as a separate service daemon that contains
support for high-availability and sharding. MySQL Utilities supports
Connector/Python version >=1.2.1, and MySQL Fabric requires
Connector/Python version >=2.0.4 and <2.1, or >=2.1.2.

The management framework maintains a database of the routing and
state information for the servers making up the system and provides
an easy-to-use command line interface for adding, removing and
organizing servers.

High-availability is provided by continuously monitoring the servers
and executing slave promotion when the master crashes and just as
importantly automatically updates the state and routing information
that gets messages to the right server.

MySQL Fabric comes with built-in support for sharding either using
ranges or consistent hashing and supports the sharding of multiple
tables to ensure that rows with matching sharding keys are stored
in the same shard. MySQL Fabric also contains support for global
tables that are duplicated on all shards as well as the ability to
synchronize schema updates across all of the servers.

To provide high performance and avoid latency, transactions are
directly routed by Fabric-aware connectors rather than routing via
an external proxy. The connectors dispatch transactions to the
correct shard, perform load-balancing, and handle read-write
splitting. Currently there exists Fabric-aware versions of
Connector/Python, Connector/Java, and Connector/PHP (through a
Fabric-aware mysqlnd_ms plugin).

MySQL Utilities v1.5.6 GA is available for download from
http://dev.mysql.com/downloads/tools/utilities/

A brief summary of changes is listed below. Please check the
CHANGES.txt file inside the distribution for a more complete list
of changes.

Changes in MySQL Utilities 1.5.6 (2015-09-18)

   Bugs Fixed

     * The 1.5.5 release contained empty manual (man) pages.
       (Bug #21811225, Bug #78384)

Documentation
-------------
Online: http://dev.mysql.com/doc/mysql-utilities/1.5/en/

The source distribution includes the manual pages for each utility under
the docs/ folder.

Reporting Bugs
--------------
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

Enjoy!

On Behalf of the MySQL/ORACLE Utilities and Release Engineering Team,
Murthy Narkedimilli

MySQL Connector/Python 2.1.3 GA has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Connector/Python 2.1.3 GA is the first GA version of 2.1
release series of the pure Python database driver for MySQL. It
can be used for production environments.

MySQL Connector/Python version 2.1.3 GA is compatible with MySQL
Server versions 5.5 and greater. Python 2.6 and greater as well as
Python 3.3 and greater are supported. Python 2.4, 2.5 and 3.1, 3.2
are not supported.

MySQL Connector/Python 2.1.3 is available for download from:

http://dev.mysql.com/downloads/connector/python/#downloads

The ChangeLog file included in the distribution contains a brief summary
of changes in MySQL Connector/Python 2.1.3. For a more complete list of
changes, see below or online at:

http://dev.mysql.com/doc/relnotes/connector-python/en/

Enjoy!

Changes in MySQL Connector/Python 2.1.3 (2015-09-24):

Functionality Added or Changed

* Connector/Python is now compatible with Django 1.8. (Bug
#76752, Bug #20987205)

Bugs Fixed

* When using the C Extension with raise_on_warnings=True,
errors were not thrown as exceptions when an executed
statement produced an error, and it was not possible to
reuse the cursor if the statement produced a result set.
(Bug #21536507)

* When using the C Extension, character decoding of
identifiers (database, table, column names) in result
sets could fail. (Bug #21535573)

* When using the C Extension with the auth_plugin option,
connect() calls failed. (Bug #21529781)

* In connections for which consume_results=True, callproc()
could hang. (Bug #21492815)

* Connections failed if the password began or ended with
spaces because they were being stripped before the
connection attempt. (Bug #21492428)

* Connection failure occurred for accounts authenticated
with the sha256_password authentication plugin that had a
blank password. (Bug #21420906)

* The Connector/Python C Extension could exit when fetching
a result set containing many NULL values. (Bug #21420633)

* Connector/Python failed to complete the connection
handshake with MySQL Server 5.5.8. (Bug #21090014)

* RPM packages of Connector/Python were missing some
required __init_py__ files. (Bug #77819, Bug #21505096)

* Connector/Python hung until timeout if the query it was
running was killed. (Bug #76156, Bug #20653441)

* Writing to a table with a BinaryField from Django
resulted in a UnicodeDecodeError exception. (Bug #75175,
Bug #21054559)

* Stripping NoneType objects from Django resulted in an
AttributeError exception. (Bug #74675, Bug #21054556)

Documentation
--------------------
Online:http://dev.mysql.com/doc/connector-python/en/index.html
The source distribution includes the manual in various formats under
the docs/ folder.

Reporting Bugs
--------------------
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

Posting in GitHub is in progress and will appear shortly.

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison


MySQL Community Server 5.5.46 has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Server 5.5.46 is a new version of the 5.5 production release
of the world's most popular open source database. MySQL 5.5.46 is
recommended for use on production systems.

MySQL 5.5 includes several high-impact enhancements to improve the
performance and scalability of the MySQL Database, taking advantage of
the latest multi-CPU and multi-core hardware and operating systems. In
addition, with release 5.5, InnoDB is now the default storage engine for
the MySQL Database, delivering ACID transactions, referential integrity
and crash recovery by default.

MySQL 5.5 also provides a number of additional enhancements including:

  - Significantly improved performance on Windows, with various
    Windows specific features and improvements
  - Higher availability, with new semi-synchronous replication and
    Replication Heartbeat
  - Improved usability, with Improved index and table partitioning,
    SIGNAL/RESIGNAL support and enhanced diagnostics, including a new
    Performance Schema monitoring capability.

For a more complete look at what's new in MySQL 5.5, please see the
following resources:

MySQL 5.5 is GA, Interview with Tomas Ulin:

  http://dev.mysql.com/tech-resources/interviews/thomas-ulin-mysql-55.html

Documentation:

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

If you are running a MySQL production level system, we would like to
direct your attention to MySQL Enterprise Edition, which includes the
most comprehensive set of MySQL production, backup, monitoring,
modeling, development, and administration tools so businesses can
achieve the highest levels of MySQL performance, security and uptime.

  http://mysql.com/products/enterprise/

For information on installing MySQL 5.5.46 on new servers, please see
the MySQL installation documentation at

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

For upgrading from previous MySQL releases, please see the important
upgrade considerations at:

  http://dev.mysql.com/doc/refman/5.5/en/upgrading.html

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

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

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

  http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-46.html

Enjoy!

Changes in MySQL 5.5.46 (2015-09-30)


     * Functionality Added or Changed

     * Bugs Fixed

   Functionality Added or Changed

     * yaSSL was upgraded to version 2.3.8. (Bug #21888925)

     * yaSSL was upgraded to version 2.3.7d. This fixes a
       connection-failure issue when used with the thread pool
       plugin. (Bug #20774956)

   Bugs Fixed

     * InnoDB: A data corruption occurred on ARM64. GCC builtins
       did not issue the correct fences when setting or
       unsetting the lock word. (Bug #21102971, Bug #76135)

     * InnoDB: In READ COMMITTED mode, a REPLACE operation on a
       unique secondary index resulted in a constraint
       violation. Thanks to Alexey Kopytov for the patch. (Bug
       #21025880, Bug #76927)

     * InnoDB: The IBUF_BITMAP_FREE bit indicated that there was
       more free space in the leaf page than was actually
       available. (Bug #20796566)

     * InnoDB: Setting lower_case_table_names=0 on a
       case-insensitive file system could result in a hang
       condition when running an INSERT INTO ... SELECT ... FROM
       tbl_name operation with the wrong tbl_name letter case.
       An error message is now printed and the server exits when
       attempting to start the server with
       --lower_case_table_names=0 on a case-insensitive file
       system. (Bug #20198490, Bug #75185)

     * Partitioning: CREATE TABLE statements that used an
       invalid function in a subpartitioning expression did not
       always fail gracefully as expected. (Bug #20310212)

     * Partitioning: ALTER TABLE when executed from a stored
       procedure did not always work correctly with tables
       partitioned by RANGE. (Bug #16613004)

     * Certain subqueries as arguments to PROCEDURE ANALYSE()
       could cause a server exit. (Bug #21350175)

     * mysql_ssl_rsa_setup could create an unwanted .rnd file in
       the data directory. (The file is actually created by
       openssl, which mysql_ssl_ras_setup invokes.
       mysql_ssl_rsa_setup now cleans up the file.) (Bug
       #21335818)

     * An assertion could be raised due to incorrect error
       handling if a SELECT ... FOR UPDATE subquery resulted in
       deadlock and caused a rollback. (Bug #21096444)

     * Servers linked against yaSSL and compiled with GCC 4.8.2
       could fail to respond correctly to connection attempts
       until several seconds after startup. (Bug #21025377)

     * For tables with subpartitions, the server could exit due
       to incorrect error handling during partition pruning if
       the partition could be identified but not the
       subpartition. (Bug #20909518)

     * DELETE could check privileges for the wrong database when
       table aliases were used. (Bug #20777016)

     * Within a trigger, use of a cursor that accessed OLD or
       NEW values from a row could cause a server exit. (Bug
       #20760261)

     * MySQL sometimes produced no warning when it was unable to
       interpret a character in a given character set. (Bug
       #20238729)

     * For MySQL distributions linked against yaSSL, a corrupt
       client key file could cause clients to exit. (Bug
       #20168526)

     * Execution of certain BINLOG statements while temporary
       tables were open by HANDLER statements could cause a
       server exit. (Bug #19894987, Bug #20449914)

     * On Windows, setting query_cache_min_res_unit to too large
       a value could result in a value of 0 and a subsequent
       server exit. (Bug #18487951)

     * RPM installation scripts if configuration files contained
       multiple datadir lines. Now the last datadir line is
       used. (Bug #77878, Bug #21527467)

     * For wait events, the Performance Schema uses the CYCLE
       timer by default, but failed to fall back to a different
       timer if CYCLE was unavailable. (Bug #77577, Bug
       #21374104)

     * Updating VARCHAR and TEXT columns in the same UPDATE
       statement could produce incorrect results. When a VARCHAR
       column was assigned to a TEXT column and the VARCHAR
       column was then set to a different value, the TEXT
       column's result contained the VARCHAR column's new value.
       (Bug #77135, Bug #21143080)

     * mysqladmin -u root -p could exit with a segmentation
       fault. (Bug #76538, Bug #20802751)

     * mysqlimport --use-threads did not actually use multiple
       threads. (Bug #76480, Bug #20772273)

     * View creation from a UNION failed with a duplicate-column
       error if a SELECT statement in the UNION other than the
       first used the same column name multiple times. (Bug
       #74539, Bug #19886430)

     * Empty XML elements having the form <element/> were not
       handled correctly by the LOAD XML statement. (Bug #67542,
       Bug #16171518)

On behalf of Oracle MySQL Release Engineering Team,
Gipson Pulla

MySQL Community Server 5.6.27 has been released (no replies)

$
0
0
Dear MySQL users,

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

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

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

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

http://dev.mysql.com/doc/refman/5.6/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:

https://wikis.oracle.com/display/mysql/Contributing

The following section lists the changes in the MySQL 5.6 since
the release of MySQL 5.6.26. It may also be viewed
online at

http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-27.html

Enjoy!

Changes in MySQL 5.6.27 (2015-09-30):

Functionality Added or Changed

* InnoDB: The new innodb_numa_interleave read-only
configuration option allows you to enable the NUMA
interleave memory policy for allocation of the InnoDB
buffer pool. When innodb_numa_interleave is enabled, the
NUMA memory policy is set to MPOL_INTERLEAVE for the
mysqld process. After the InnoDB buffer pool is
allocated, the NUMA memory policy is set back to
MPOL_DEFAULT. This option is only available on
NUMA-enabled systems.
Thanks to Stewart Smith for the patch. (Bug #18871046,
Bug #72811)

* yaSSL was upgraded to version 2.3.8. (Bug #21888925)

* RPM .spec files were updated so that MySQL Server builds
from source RPM packages will include the proper files to
take advantage of operating system NUMA capabilities.
This introduces a runtime dependency on libnuma.so.1. RPM
and yum detect this and refuse to install if that library
is not installed. (Bug #21775221)

* yaSSL was upgraded to version 2.3.7d. This fixes a
connection-failure issue when used with the thread pool
plugin. (Bug #20774956)

Bugs Fixed

* InnoDB: Reloading a table that was evicted while empty
caused an AUTO_INCREMENT value to be reset. (Bug
#21454472, Bug #77743)

* InnoDB: Memory allocation sanity checks were added to the
memcached code. (Bug #21288106)

* InnoDB: A memcached flush_all command raised an
assertion. A function that starts a transaction was
called from within assertion code. (Bug #21239299, Bug
#75199)

* InnoDB: A data corruption occurred on ARM64. GCC builtins
did not issue the correct fences when setting or
unsetting the lock word. (Bug #21102971, Bug #76135)

* InnoDB: Server shutdown was delayed waiting for the purge
thread to exit. To avoid this problem, the number of
calls to trx_purge() was reduced, and the trx_purge()
batch size was reduced to 20. (Bug #21040050)

* InnoDB: In READ COMMITTED mode, a REPLACE operation on a
unique secondary index resulted in a constraint
violation. Thanks to Alexey Kopytov for the patch. (Bug
#21025880, Bug #76927)

* InnoDB: The IBUF_BITMAP_FREE bit indicated that there was
more free space in the leaf page than was actually
available. (Bug #20796566)

* InnoDB: Setting lower_case_table_names=0 on a
case-insensitive file system could result in a hang
condition when running an INSERT INTO ... SELECT ... FROM
tbl_name operation with the wrong tbl_name letter case.
An error message is now printed and the server exits when
attempting to start the server with
--lower_case_table_names=0 on a case-insensitive file
system. (Bug #20198490, Bug #75185)

* InnoDB: The server failed to start with an
innodb_force_recovery setting greater than 3. InnoDB was
set to read-only mode before redo logs were applied.
DROP TABLE is now supported with an innodb_force_recovery
setting greater than 3. (Bug #19779113)

* InnoDB: The trx_sys_read_pertable_file_format_id()
function reported the wrong file format. (Bug #19206671)

* Partitioning: CREATE TABLE statements that used an
invalid function in a subpartitioning expression did not
always fail gracefully as expected. (Bug #20310212)

* Partitioning: Error handling for failed
partitioning-related ALTER TABLE operations against
non-partitioned tables was not performed correctly (Bug
#20284744)

* Partitioning: ALTER TABLE when executed from a stored
procedure did not always work correctly with tables
partitioned by RANGE. (Bug #16613004)

* Replication: Repeatedly checking for
ERR_LOCK_WAIT_TIMEOUT (as done, for example by repeatedly
executing SHOW SLAVE STATUS) during a prolonged write
lock on a table led to an assert. (Bug #21095969)

* Replication: If statement based logging was in use, when
updating multiple tables in a single statement, a single
transaction could be logged as two different
transactions. This was due to the binary logging process
not properly identifying statements which were operating
over transactional tables. The fix ensures that they are
correctly identified, even if such statements do not
change the contents of the tables. (Bug #16621582, Bug
#21349028)

* Replication: When the dump thread was killed while
dumping an inactive binary log, some events in this log
could be skipped and thus not replicated. (Bug #78337,
Bug #21816399)
References: See also Bug #74607, Bug #19975697.

* Replication: Under certain circumstances it was possible
for Retrieved_Gtid_Set on the slave to contain gaps while
no gaps appeared in Executed_Gtid_Set or the slave's
binary logs. This could happen when slave rotated the
relay log in such a way that the last event of this log
contained the record which set gtid_next, and was then
restarted after reading GTIDs from the following log.
Following the restart, Retrieved_Gtid_Set contained GTIDs
which were executed incorrectly as well as spurious or
"phantom" gaps.
TYhe fix for this problem adds a GTID to
Retrieved_Gtid_Set before writing the event to the relay
log, rather than after. If for some reason writing to
relay log fails, the GTID is removed from
Retrieved_Gtid_Set. (Bug #76959, Bug #21046372)
References: See also Bug #17943188.

* Replication: SAVEPOINT and ROLLBACK TO SAVEPOINT within a
trigger led to an assertion. (Bug #76727, Bug #20901025)

* Replication: While a SHOW BINLOG EVENTS statement was
executing, any parallel transaction was blocked. The fix
ensures that the SHOW BINLOG EVENTS process now only
acquires a lock for the duration of calculating the
file's end position, therefore parallel transactions are
not blocked for long durations. (Bug #76618, Bug
#20928790)

* Replication: If a CREATE VIEW statement failed, it was
being incorrectly written to the binary log even though
it did not result in the creation of a partial view. The
fix ensures that such statements are not recorded in the
binary log. Additionally it was found that when a
statement which had failed on a master was received by a
slave with an expected error, if the statement was
skipped on the slave, for example due to a replication
filter, the expected error was being compared with the
actual error that happened on the slave. The fix ensures
that if a statement with an expected error is received by
a slave, if the statement has not been filtered, only
then is it compared with the actual error that happened
on the slave. (Bug #76493, Bug #20797764)

* Replication: The action specified for binlog_error_action
was not always honored correctly after a hardware failure
occurred during log rotation. (Bug #76379, Bug #20805298)

* Replication: Modifying the master_info_repository or
relay_log_info_repository inside a transaction and later
rolling back that transaction left the repository in an
unusable state. We fix this by preventing any
modification of these repositories inside a transaction.
(Bug #74950, Bug #20074353)

* Replication: When relay_log_recovery is set, the error
log entry that reports the new recovery positions has
been extended to also report the old relay log positions.
(Bug #74089, Bug #21305976)

* Replication: When a master with --binlog_checksum=none
and --gtid-mode=ON was replicating to a slave with
--binlog_checksum=crc32, restarting the slave's SQL
thread caused an Event crc check error. This was due to
the Format_description_log_event from the master not
being correctly found in existing relay logs after
restarting the slave's SQL thread. The fix ensures that
the Previous_gtids_log_event is correctly skipped and
that the correct Format_description_log_event is found in
existing relay logs after restarting the slave's SQL
thread. (Bug #73806, Bug #20644100, Bug #76746, Bug
#20909880)

* Replication: When the running with
--relay-log-info-repository=TABLE, the
mysql.slave_relay_log_info table is updated when a
transaction is committed or when a flush is performed
explicitly, such during relay log rotation. If a
transaction that uses any nontransactional tables (such
as MyISAM tables) is split across multiple relay logs, it
is partially committed on relay log flush. When
gtid_mode=ON, this caused the same GTID to be used for
the remaining portion of the transaction, which raised an
ER_GTID_NEXT_TYPE_UNDEFINED_GROUP error.
We fix this issue by postponing in such cases the update
of the relay log information repository that normally
occurs on relay log rotation until the commit for the
transaction in question has been executed.
This issue did not affect tables using transactional
storage engines such as InnoDB. (Bug #68525, Bug
#16418100)

* The CMake checks for NUMA availability could cause
compilation problems on platforms without NUMA support.
(Bug #21774859)

* Certain subqueries as arguments to PROCEDURE ANALYSE()
could cause a server exit. (Bug #21350175)

* mysql_ssl_rsa_setup could create an unwanted .rnd file in
the data directory. (The file is actually created by
openssl, which mysql_ssl_ras_setup invokes.
mysql_ssl_rsa_setup now cleans up the file.) (Bug
#21335818)

* An assertion could be raised due to incorrect error
handling if a SELECT ... FOR UPDATE subquery resulted in
deadlock and caused a rollback. (Bug #21096444)

* Selecting the result of an INSERT() function call to
which input was passed as a hexidecimal string could
expose more information than was passed to the function.
(Bug #21056907)

* The updatable property of a view is set during view
creation. If the underlying table was dropped and
re-created as a nonupdatable one, the updatable property
of the original view was not revised accordingly. This
could cause a server exit for attempts to insert or
replace into the view is made. (This problem was specific
to views with multiple tables/views and did not occur
with update statements.) (Bug #21039264)

* Servers linked against yaSSL and compiled with GCC 4.8.2
could fail to respond correctly to connection attempts
until several seconds after startup. (Bug #21025377)

* For tables with subpartitions, the server could exit due
to incorrect error handling during partition pruning if
the partition could be identified but not the
subpartition. (Bug #20909518)

* DELETE could check privileges for the wrong database when
table aliases were used. (Bug #20777016)

* Within a trigger, use of a cursor that accessed OLD or
NEW values from a row could cause a server exit. (Bug
#20760261)

* MySQL sometimes produced no warning when it was unable to
interpret a character in a given character set. (Bug
#20238729)

* On Windows, the validate_password plugin could cause a
server exit during the dictionary check. (Bug #18636874)

* On Windows, setting query_cache_min_res_unit to too large
a value could result in a value of 0 and a subsequent
server exit. (Bug #18487951)

* EXPLAIN of statements containing GROUP_CONCAT() could
cause a server exit. (Bug #17865675)

* On Windows, heap corruption in the audit log plugin
caused server startup failure. (Bug #14700102)

* RPM installation scripts if configuration files contained
multiple datadir lines. Now the last datadir line is
used. (Bug #77878, Bug #21527467)

* For wait events, the Performance Schema uses the CYCLE
timer by default, but failed to fall back to a different
timer if CYCLE was unavailable. (Bug #77577, Bug
#21374104)

* Updating VARCHAR and TEXT columns in the same UPDATE
statement could produce incorrect results. When a VARCHAR
column was assigned to a TEXT column and the VARCHAR
column was then set to a different value, the TEXT
column's result contained the VARCHAR column's new value.
(Bug #77135, Bug #21143080)

* If an INFORMATION_SCHEMA query that performed a
table-open operation encountered a corrupt table and
attempted to repair it, a deadlock could occur, resulting
in an aborted transaction without an appropriate error
being reported. Such queries now do not attempt table
repair. (Bug #76912, Bug #21021848)

* mysqladmin -u root -p could exit with a segmentation
fault. (Bug #76538, Bug #20802751)

* mysqlimport --use-threads did not actually use multiple
threads. (Bug #76480, Bug #20772273)

* The optimizer sometimes generates an index for a derived
table (subquery in the FROM clause). If this occurred for
a statement executed within a stored program, a memory
leak could occur. (Bug #76349, Bug #20728894)

* For OS X 10.9 packages, the version_compile_os system
variable indicated 10.8. (Bug #75581, Bug #20400501)

* The optimizer could incorrectly assume an out-of-memory
condition while optimizing a range scan for the OR
operator, resulting in overestimation of the number of
qualifying rows. (Bug #75248, Bug #20229614)

* On platforms where the char is unsigned, the server was
unable to parse collation definitions that included
non-7-bit ASCII characters. Affected platforms include
ARM and PowerPC. Thanks to Alexey Kopytov for the patch.
(Bug #74891, Bug #20928289, Bug #20928289)

* The Performance Schema events_statements_history table
could have an ERRORS column value of 0 when other columns
indicated there were errors. (Bug #74614, Bug #19929832)

* View creation from a UNION failed with a duplicate-column
error if a SELECT statement in the UNION other than the
first used the same column name multiple times. (Bug
#74539, Bug #19886430)

* Empty XML elements having the form <element/> were not
handled correctly by the LOAD XML statement. (Bug #67542,
Bug #16171518)

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison

MySQL Connector/J 5.1.37 has been released (no replies)

$
0
0
Hello all,

MySQL Connector Java 5.1.37, a maintenance release of the production 5.1
branch, has been released. Connector/J is a Type-IV pure-Java JDBC
driver for MySQL. It is suitable for use with MySQL server versions 5.5,
5.6, and 5.7. It is also the first release of MySQL Connector/J to support
the Java Database Connectivity (JDBC) 4.2 API.

MySQL Connector Java is available in source and binary form from the
Connector/J download pages at
http://dev.mysql.com/downloads/connector/j/5.1.html

MySQL Connector Java (Commercial) is available for download on the My
Oracle Support (MOS) website. This release will be available on
eDelivery (OSDC) in next month's upload cycle.

As always, we recommend that you check the "CHANGES" file in the
download archive to be aware of changes in behavior that might affect
your application.

MySQL Connector/J 5.1.37 includes the following general bug fixes and
improvements, also available in more detail on
http://dev.mysql.com/doc/relnotes/connector-j/en/news-5-1-37.html :

Changes in MySQL Connector/J 5.1.37 (2015-10-15)

Functionality Added or Changed

* Connector/J now supports the JSON data type, which has
been supported by the MySQL server since release 5.7.8.

* methodCompressedInputStream.getNextPacketFromServer() has
been refactored to reduce memory use and garbage
collection efforts caused by the use of the inflater.
(Bug #21648826, Bug #78106)

* The code for executing a REPLACE statement when
rewriteBatchedStatements=true has been refactored by
putting multiple batched statements into a single query,
making it work more like an INSERT statement. This
increases the efficiency for running REPLACE statements.
Thanks to Jie Han for contributing the code. (Bug
#21429909, Bug #77681)

* A new connection property,
truncateFractionalSeconds=true|false, has been
introduced. It controls whether fractional seconds in
timestamps are to be truncated on the client side or to
be sent to the server side for truncation there. See the
entry for the new property in Driver/Datasource Class
Names, URL Syntax and Configuration Properties for
Connector/J
(http://dev.mysql.com/doc/connector-j/en/connector-j-refe
rence-configuration-properties.html) for details. Thanks
to Kwon Nam Son for contributing the code. (Bug
#21304726, Bug #77449)

* A new connection property, enableEscapeProcessing, has
been introduced for supporting JDBC 4.2. It sets the
default escape processing behavior for Statement objects.
See the entry for the new property in Driver/Datasource
Class Names, URL Syntax and Configuration Properties for
Connector/J
(http://dev.mysql.com/doc/connector-j/en/connector-j-refe
rence-configuration-properties.html) for details.

Bugs Fixed

* A ClassCastException resulted for a Fabric connection
when rewriteBatchedStatements was "true" and a batch
update was rewritten. (Bug #21876798)

* A number of regression tests in the testsuite failed when
they were run against MySQL 5.7, because the
NO_AUTO_CREATE_USER SQL mode had become the default
behavior of the server since MySQL 5.7.7, making some
GRANT statements in the test fail when a new user had to
be created. With this fix, CREATE USER statements have
been added to the regressions tests when needed, to
prevent the test failures. (Bug #21697684, Bug #78225)

* Connecting to MySQL 5.0 and 5.1 using Connector/J 5.1.36
resulted in an SQLException, with a complaint for an
"Unknown system variable 'language'". (Bug #21415165, Bug
#77665)

* The IS_GENERATEDCOLUMN field was empty in the result
returned by DatabaseMetaData.getColumns(). This fix
corrects the field so that it contains a YES or NO
according to whether the column is generated or not. (Bug
#20969312, Bug #76859)

* getTypeInfo() returned an incorrect PRECISION value of
"255" for the data type of VARCHAR. The return value has
been corrected to "65535." (Bug #20675539, Bug #76187)

* When a connection is forcefully closed with
abortInternal() in the ConnectionImpl class, a null point
exception sometimes resulted. This is now avoided by
putting the associated this.io.releaseResources() call
inside a try block, so that the exception, unavoidable
due to a race condition, can be properly caught and
ignored. (Bug #20536592, Bug #75849)

* If the MySQL server's default authentication method was
SHA256 but neither one of the Connector/J connection
properties allowPublicKeyRetrieval and
serverRSAPublicKeyFile was set, the authentication failed
with a TransientConnectionException, complaining that the
public key could not be retrieved. With this fix,
authentication continues in the situation, allowing other
enabled authentication methods to be tried. (Bug
#20433047, Bug #75670)

* When a lock wait timeout occurred, an SQLException was
thrown while an SQLTransientException should be thrown
instead. It was due to a wrong SQLState number used in
the code, which has now been fixed. (Bug #16634180)

* When the time zone on the MySQL server was configured to
"GMT" but the client was in a different time zone,
Connector/J would make wrong adjustments for event
timestamps when working with the server. (Bug #11758179,
Bug #50348)

Documentation
--------------
Online: http://dev.mysql.com/doc/connector-j/en/index.html

Reporting Bugs
---------------
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison

MySQL Cluster 7.4.8 has been released (no replies)

$
0
0
Dear MySQL Users,

MySQL Cluster 7.4.8 (Milestone Release) is a public milestone
release for MySQL Cluster 7.4.

MySQL Cluster is the distributed, shared-nothing variant of MySQL.
This storage engine provides:

- In-Memory storage - Real-time performance (with optional
checkpointing to disk)
- Transparent Auto-Sharding - Read & write scalability
- Active-Active/Multi-Master geographic replication
- 99.999% High Availability with no single point of failure
and on-line maintenance
- NoSQL and SQL APIs (including C++, Java, http, Memcached
and JavaScript/Node.js)

MySQL Cluster 7.4 makes significant advances in performance;
operational efficiency (such as enhanced reporting and faster restarts
and upgrades) and conflict detection and resolution for active-active
replication between MySQL Clusters.

MySQL Cluster 7.4.8 DMR can be downloaded from the "Development
Releases" tab at

http://www.mysql.com/downloads/cluster/

where you will also find Quick Start guides to help you get your
first MySQL Cluster database up and running.

The release notes are available from

http://dev.mysql.com/doc/relnotes/mysql-cluster/7.4/en/index.html

MySQL Cluster enables users to meet the database challenges of next
generation web, cloud, and communications services with uncompromising
scalability, uptime and agility.

As with any other pre-production release, caution should be taken when
installing on production level systems or systems with critical data.
More information on the Development Milestone Release process can be
found at

http://dev.mysql.com/doc/mysql-development-cycle/en/development-milestone-releases.html

More details can be found at

http://www.mysql.com/products/cluster/

Enjoy !

Changes in MySQL Cluster NDB 7.4.8 (5.6.27-ndb-7.4.8 2015-10-16)

MySQL Cluster NDB 7.4.8 is a new release of MySQL Cluster
7.4, based on MySQL Server 5.6 and including features in
version 7.4 of the NDB storage engine, as well as fixing
recently discovered bugs in previous MySQL Cluster releases.

Obtaining MySQL Cluster NDB 7.4. MySQL Cluster NDB 7.4
source code and binaries can be obtained from
http://dev.mysql.com/downloads/cluster/.

For an overview of changes made in MySQL Cluster NDB 7.4, see
MySQL Cluster Development in MySQL Cluster NDB 7.4
(http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-develop
ment-5-6-ndb-7-4.html).

This release also incorporates all bugfixes and changes made
in previous MySQL Cluster releases, as well as all bugfixes
and feature changes which were added in mainline MySQL 5.6
through MySQL 5.6.27 (see Changes in MySQL 5.6.27
(2015-09-30)
(http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-27.h
tml)).

Functionality Added or Changed

* Important Change; Cluster Replication: Added the
create_old_temporals server system variable to compliment
the system variables avoid_temporal_upgrade and
show_old_temporals introduced in MySQL 5.6.24 and
available in MySQL Cluster beginning with NDB 7.3.9 and
NDB 7.4.6. Enabling create_old_temporals causes mysqld to
use the storage format employed prior to MySQL 5.6.4 when
creating any DATE, DATETIME, or TIMESTAMP column---that
is, the column is created without any support for
fractional seconds. create_old_temporals is disabled by
default. The system variable is read-only; to enable the
use of pre-5.6.4 temporal types, set the equivalent
option (--create-old-temporals) on the command line, or
in an option file read by the MySQL server.
create_old_temporals is available only in MySQL Cluster;
it is not supported in the standard MySQL 5.6 server. It
is intended to facilitate upgrades from MySQL Cluster NDB
7.2 to MySQL Cluster NDB 7.3 and 7.4, after which table
columns of the affected types can be upgraded to the new
storage format. create_old_temporals is deprecated and
scheduled for removal in a future version of MySQL
Cluster.
avoid_temporal_upgrade must also be enabled for this
feature to work properly. You should also enable
show_old_temporals as well. For more information, see the
descriptions of these variables. For more about the
changes in MySQL's temporal types, see Storage
Requirements for Date and Time Types
(http://dev.mysql.com/doc/refman/5.6/en/storage-requireme
nts.html#data-types-storage-reqs-date-time). (Bug
#20701918)
References: See also Bug #21492598, Bug #72997, Bug
#18985760.

* When the --database option has not been specified for
ndb_show_tables, and no tables are found in the TEST_DB
database, an appropriate warning message is now issued.
(Bug #78379, Bug #11758430)

Bugs Fixed

* Important Change: When ndb_restore was run without
--disable-indexes or --rebuild-indexes on a table having
a unique index, it was possible for rows to be restored
in an order that resulted in duplicate values, causing it
to fail with duplicate key errors. Running ndb_restore on
such a table now requires using at least one of these
options; failing to do so now results in an error. (Bug
#57782, Bug #11764893)

* Important Change; Cluster API: The MGM API error-handling
functions ndb_mgm_get_latest_error(),
ndb_mgm_get_latest_error_msg(), and
ndb_mgm_get_latest_error_desc() each failed when used
with a NULL handle. You should note that, although these
functions are now null-safe, values returned in this case
are arbitrary and not meaningful. (Bug #78130, Bug
#21651706)

* mysql_upgrade failed when performing an upgrade from
MySQL Cluster NDB 7.2 to MySQL Cluster NDB 7.4. The root
cause of this issue was an accidental duplication of code
in mysql_fix_privilege_tables.sql that caused
ndbinfo_offline mode to be turned off too early, which in
turn led a subsequent CREATE VIEW statement to fail. (Bug
#21841821)

* ClusterMgr is a internal component of NDB API and
ndb_mgmd processes, part of TransporterFacade---which in
turn is a wrapper around the transporter registry---and
shared with data nodes. This component is responsible for
a number of tasks including connection setup requests;
sending and monitoring of heartbeats; provision of node
state information; handling of cluster disconnects and
reconnects; and forwarding of cluster state indicators.
ClusterMgr maintains a count of live nodes which is
incremented on receiving a report of a node having
connected (reportConnected() method call), and
decremented on receiving a report that a node has
disconnected (reportDisconnected()) from
TransporterRegistry. This count is checked within
reportDisconnected() to verify that is it greater than
zero.
The issue addressed here arose when node connections were
very brief due to send buffer exhaustion (among other
potential causes) and the check just described failed.
This occurred because, when a node did not fully connect,
it was still possible for the connection attempt to
trigger a reportDisconnected() call in spite of the fact
that the connection had not yet been reported to
ClusterMgr; thus, the pairing of reportConnected() and
reportDisconnected() calls was not guaranteed, which
could cause the count of connected nodes to be set to
zero even though there remained nodes that were still in
fact connected, causing node crashes with debug builds of
MySQL Cluster, and potential errors or other adverse
effects with release builds.
To fix this issue, ClusterMgr::reportDisconnected() now
verifies that a disconnected node had actually finished
connecting completely before checking and decrementing
the number of connected nodes. (Bug #21683144)
References: See also Bug #21664515, Bug #21651400.

* To reduce the possibility that a node's loopback
transporter becomes disconnected from the transporter
registry by reportError() due to send buffer exhaustion
(implemented by the fix for Bug #21651400), a portion of
the send buffer is now reserved for the use of this
transporter. (Bug #21664515)
References: See also Bug #21683144.

* The loopback transporter is similar to the TCP
transporter, but is used by a node to send signals to
itself as part of many internal operations. Like the TCP
transporter, it could be disconnected due to certain
conditions including send buffer exhaustion, but this
could result in blocking of TransporterFacade and so
cause multiple issues within an ndb_mgmd or API node
process. To prevent this, a node whose loopback
transporter becomes disconnected is now simply shut down,
rather than allowing the node process to hang. (Bug
#21651400)
References: See also Bug #21683144, Bug #21664515.

* The internal NdbEventBuffer object's active subscriptions
count (m_active_op_count) could be decremented more than
once when stopping a subscription when this action
failed, for example, due to a busy server and was
retried. Decrementing of this count could also fail when
communication with the data node failed, such as when a
timeout occurred. (Bug #21616263)
References: This bug is a regression of Bug #20575424,
Bug #20561446.

* In some cases, the management server daemon failed on
startup without reporting the reason. Now when ndb_mgmd
fails to start due to an error, the error message is
printed to stderr. (Bug #21571055)

* In a MySQL Cluster with multiple LDM instances, all
instances wrote to the node log, even inactive instances
on other nodes. During restarts, this caused the log to
be filled with messages from other nodes, such as the
messages shown here:
2015-06-24 00:20:16 [ndbd] INFO -- We are adjusting Max Disk Write Speed,
a restart is ongoing now
...
2015-06-24 01:08:02 [ndbd] INFO -- We are adjusting Max Disk Write Speed,
no restarts ongoing anymore

Now this logging is performed only by the active LDM
instance. (Bug #21362380)

* Backup block states were reported incorrectly during
backups. (Bug #21360188)
References: See also Bug #20204854, Bug #21372136.

* Added the BackupDiskWriteSpeedPct data node parameter.
Setting this parameter causes the data node to reserve a
percentage of its maximum write speed (as determined by
the value of MaxDiskWriteSpeed) for use in local
checkpoints while performing a backup.
BackupDiskWriteSpeedPct is interpreted as a percentage
which can be set between 0 and 90 inclusive, with a
default value of 50. (Bug #20204854)
References: See also Bug #21372136.

* When a data node is known to have been alive by other
nodes in the cluster at a given global checkpoint, but
its sysfile reports a lower GCI, the higher GCI is used
to determine which global checkpoint the data node can
recreate. This caused problems when the data node being
started had a clean file system (GCI = 0), or when it was
more than more global checkpoint behind the other nodes.
Now in such cases a higher GCI known by other nodes is
used only when it is at most one GCI ahead. (Bug
#19633824)
References: See also Bug #20334650, Bug #21899993. This
bug was introduced by Bug #29167.

* When restoring a specific database or databases with the
--include-databases or --exclude-databases option,
ndb_restore attempted to apply foreign keys on tables in
databases which were not among those being restored. (Bug
#18560951)

* After restoring the database schema from backup using
ndb_restore, auto-discovery of restored tables in
transactions having multiple statements did not work
correctly, resulting in Deadlock found when trying to get
lock; try restarting transaction errors.
This issue was encountered both in the mysql client, as
well as when such transactions were executed by
application programs using Connector/J and possibly other
MySQL APIs.
Prior to upgrading, this issue can be worked around by
executing SELECT TABLE_NAME, TABLE_SCHEMA FROM
INFORMATION_SCHEMA.TABLES WHERE ENGINE = 'NDBCLUSTER' on
all SQL nodes following the restore operation, before
executing any other statements. (Bug #18075170)

* ndb_desc used with the --extra-partition-info and
--blob-info options failed when run against a table
containing one or more TINYBLOB. columns. (Bug #14695968)

* Operations relating to global checkpoints in the internal
event data buffer could sometimes leak memory. (Bug
#78205, Bug #21689380)
References: See also Bug #76165, Bug #20651661.

* Trying to create an NDB table with a composite foreign
key referencing a composite primary key of the parent
table failed when one of the columns in the composite
foreign key was the table's primary key and in addition
this column also had a unique key. (Bug #78150, Bug
#21664899)

* When attempting to enable index statistics, creation of
the required system tables, events and event
subscriptions often fails when multiple mysqld processes
using index statistics are started concurrently in
conjunction with starting, restarting, or stopping the
cluster, or with node failure handling. This is normally
recoverable, since the affected mysqld process or
processes can (and do) retry these operations shortly
thereafter. For this reason, such failures are no longer
logged as warnings, but merely as informational events.
(Bug #77760, Bug #21462846)

* Adding a unique key to an NDB table failed when the table
already had a foreign key. Prior to upgrading, you can
work around this issue by creating the unique key first,
then adding the foreign key afterwards, using a separate
ALTER TABLE statement. (Bug #77457, Bug #20309828)

* Cluster Replication: When using conflict detection and
resolution with NDB$EPOCH2_TRANS()
(http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-rep
lication-conflict-resolution.html#mysql-cluster-replicati
on-ndb-epoch2-trans), delete-delete conflicts were not
handled in a transactional manner. (Bug #20713499)

* Cluster API: While executing dropEvent(), if the
coordinator DBDICT failed after the subscription manager
(SUMA block) had removed all subscriptions but before the
coordinator had deleted the event from the system table,
the dropped event remained in the table, causing any
subsequent drop or create event with the same name to
fail with NDB error 1419 Subscription already dropped or
error 746 Event name already exists. This occurred even
when calling dropEvent() with a nonzero force argument.
Now in such cases, error 1419 is ignored, and DBDICT
deletes the event from the table. (Bug #21554676)

* Cluster API: If the total amount of memory allocated for
the event buffer exceeded approximately 40 MB, the
calculation of memory usage percentages could overflow
during computation. This was due to the fact that the
associated routine used 32-bit arithmetic; this has now
been changed to use Uint64 values instead. (Bug #78454,
Bug #21847552)

* Cluster API: The nextEvent2() method continued to return
exceptional events such as TE_EMPTY, TE_INCONSISTENT, and
TE_OUT_OF_MEMORY for event operations which already had
been dropped. (Bug #78167, Bug #21673318)

* Cluster API: After the initial restart of a node
following a cluster failure, the cluster failure event
added as part of the restart process was deleted when an
event that existed prior to the restart was later
deleted. This meant that, in such cases, an Event API
client had no way of knowing that failure handling was
needed. In addition, the GCI used for the final cleanup
of deleted event operations, performed by pollEvents()
and nextEvent() when these methods have consumed all
available events, was lost. (Bug #78143, Bug #21660947)

* Cluster API: The internal value representing the latest
global checkpoint was not always updated when a completed
epoch of event buffers was inserted into the event queue.
This caused subsequent calls to Ndb::pollEvents() and
pollEvents2() to fail when trying to obtain the correct
GCI for the events available in the event buffers. This
could also result in later calls to nextEvent() or
nextEvent2() seeing events that had not yet been
discovered. (Bug #78129, Bug #21651536)

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison

MySQL Cluster 7.3.11 has been released (no replies)

$
0
0
Dear MySQL Users,

MySQL Cluster is the distributed, shared-nothing variant of MySQL.
This storage engine provides:

  - In-Memory storage - Real-time performance (with optional
    checkpointing to disk)
  - Transparent Auto-Sharding - Read & write scalability
  - Active-Active/Multi-Master geographic replication

  - 99.999% High Availability with no single point of failure
    and on-line maintenance
  - NoSQL and SQL APIs (including C++, Java, http, Memcached
    and JavaScript/Node.js)

MySQL Cluster 7.3.11, has been released and can be downloaded from

  http://www.mysql.com/downloads/cluster/

where you will also find Quick Start guides to help you get your
first MySQL Cluster database up and running.

The release notes are available from

  http://dev.mysql.com/doc/relnotes/mysql-cluster/7.3/en/index.html

MySQL Cluster enables users to meet the database challenges of next
generation web, cloud, and communications services with uncompromising
scalability, uptime and agility.

More details can be found at

  http://www.mysql.com/products/cluster/

Enjoy !

Changes in MySQL Cluster NDB 7.3.11 (5.6.27-ndb-7.3.11) (2015-10-19)

   MySQL Cluster NDB 7.3.11 is a new release of MySQL Cluster,
   based on MySQL Server 5.6 and including features from version
   7.3 of the NDB storage engine, as well as fixing a number of
   recently discovered bugs in previous MySQL Cluster releases.

   Obtaining MySQL Cluster NDB 7.3.  MySQL Cluster NDB 7.3
   source code and binaries can be obtained from
   http://dev.mysql.com/downloads/cluster/.

   For an overview of changes made in MySQL Cluster NDB 7.3, see
   MySQL Cluster Development in MySQL Cluster NDB 7.3
   (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-development-5-6-ndb-7-3.html).

   This release also incorporates all bugfixes and changes made
   in previous MySQL Cluster releases, as well as all bugfixes
   and feature changes which were added in mainline MySQL 5.6
   through MySQL 5.6.27 (see Changes in MySQL 5.6.27
   (2015-09-30)
   (http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-27.html)).

     * Functionality Added or Changed

     * Bugs Fixed

   Functionality Added or Changed

     * Important Change; Cluster Replication: Added the
       create_old_temporals server system variable to compliment
       the system variables avoid_temporal_upgrade and
       show_old_temporals introduced in MySQL 5.6.24 and
       available in MySQL Cluster beginning with NDB 7.3.9 and
       NDB 7.4.6. Enabling create_old_temporals causes mysqld to
       use the storage format employed prior to MySQL 5.6.4 when
       creating any DATE, DATETIME, or TIMESTAMP column---that
       is, the column is created without any support for
       fractional seconds. create_old_temporals is disabled by
       default. The system variable is read-only; to enable the
       use of pre-5.6.4 temporal types, set the equivalent
       option (--create-old-temporals) on the command line, or
       in an option file read by the MySQL server.
       create_old_temporals is available only in MySQL Cluster;
       it is not supported in the standard MySQL 5.6 server. It
       is intended to facilitate upgrades from MySQL Cluster NDB
       7.2 to MySQL Cluster NDB 7.3 and 7.4, after which table
       columns of the affected types can be upgraded to the new
       storage format. create_old_temporals is deprecated and
       scheduled for removal in a future version of MySQL
       Cluster.
       avoid_temporal_upgrade must also be enabled for this
       feature to work properly. You should also enable
       show_old_temporals as well. For more information, see the
       descriptions of these variables. For more about the
       changes in MySQL's temporal types, see Storage
       Requirements for Date and Time Types
       (http://dev.mysql.com/doc/refman/5.6/en/storage-requirements.html#data-types-storage-reqs-date-time).
       (Bug #20701918)
       References: See also Bug #21492598, Bug #72997, Bug #18985760.

   Bugs Fixed

     * Important Change: When ndb_restore was run without
       --disable-indexes or --rebuild-indexes on a table having
       a unique index, it was possible for rows to be restored
       in an order that resulted in duplicate values, causing it
       to fail with duplicate key errors. Running ndb_restore on
       such a table now requires using at least one of these
       options; failing to do so now results in an error.
       (Bug #57782, Bug #11764893)

     * Backup block states were reported incorrectly during
       backups. (Bug #21360188)
       References: See also Bug #20204854, Bug #21372136.

     * When a data node is known to have been alive by other
       nodes in the cluster at a given global checkpoint, but
       its sysfile reports a lower GCI, the higher GCI is used
       to determine which global checkpoint the data node can
       recreate. This caused problems when the data node being
       started had a clean file system (GCI = 0), or when it was
       more than more global checkpoint behind the other nodes.
       Now in such cases a higher GCI known by other nodes is
       used only when it is at most one GCI ahead.
       (Bug #19633824)
       References: See also Bug #20334650, Bug #21899993. This
       bug was introduced by Bug #29167.

     * When restoring a specific database or databases with the
       --include-databases or --exclude-databases option,
       ndb_restore attempted to apply foreign keys on tables in
       databases which were not among those being restored.
      (Bug #18560951)

     * After restoring the database schema from backup using
       ndb_restore, auto-discovery of restored tables in
       transactions having multiple statements did not work
       correctly, resulting in Deadlock found when trying to get
       lock; try restarting transaction errors.
       This issue was encountered both in the mysql client, as
       well as when such transactions were executed by
       application programs using Connector/J and possibly other
       MySQL APIs.
       Prior to upgrading, this issue can be worked around by
       executing SELECT TABLE_NAME, TABLE_SCHEMA FROM
       INFORMATION_SCHEMA.TABLES WHERE ENGINE = 'NDBCLUSTER' on
       all SQL nodes following the restore operation, before
       executing any other statements. (Bug #18075170)

     * ndb_desc used with the --extra-partition-info and
       --blob-info options failed when run against a table
       containing one or more TINYBLOB. columns. (Bug #14695968)

     * Trying to create an NDB table with a composite foreign
       key referencing a composite primary key of the parent
       table failed when one of the columns in the composite
       foreign key was the table's primary key and in addition
       this column also had a unique key. (Bug #78150, Bug #21664899)

     * When attempting to enable index statistics, creation of
       the required system tables, events and event
       subscriptions often fails when multiple mysqld processes
       using index statistics are started concurrently in
       conjunction with starting, restarting, or stopping the
       cluster, or with node failure handling. This is normally
       recoverable, since the affected mysqld process or
       processes can (and do) retry these operations shortly
       thereafter. For this reason, such failures are no longer
       logged as warnings, but merely as informational events.
       (Bug #77760, Bug #21462846)

     * Adding a unique key to an NDB table failed when the table
       already had a foreign key. Prior to upgrading, you can
       work around this issue by creating the unique key first,
       then adding the foreign key afterwards, using a separate
       ALTER TABLE statement. (Bug #77457, Bug #20309828)

     * Cluster API: While executing dropEvent(), if the
       coordinator DBDICT failed after the subscription manager
       (SUMA block) had removed all subscriptions but before the
       coordinator had deleted the event from the system table,
       the dropped event remained in the table, causing any
       subsequent drop or create event with the same name to
       fail with NDB error 1419 Subscription already dropped or
       error 746 Event name already exists. This occurred even
       when calling dropEvent() with a nonzero force argument.
       Now in such cases, error 1419 is ignored, and DBDICT
       deletes the event from the table. (Bug #21554676)

     * Cluster API: The internal value representing the latest
       global checkpoint was not always updated when a completed
       epoch of event buffers was inserted into the event queue.
       This caused subsequent calls to Ndb::pollEvents() and
       pollEvents2() to fail when trying to obtain the correct
       GCI for the events available in the event buffers. This
       could also result in later calls to nextEvent() or
       nextEvent2() seeing events that had not yet been
       discovered. (Bug #78129, Bug #21651536)

On behalf of Oracle MySQL RE team
Gipson Pulla 

MySQL Cluster 7.2.22 has been released (no replies)

$
0
0
Dear MySQL Users,

MySQL Cluster is the distributed, shared-nothing variant of MySQL.
This storage engine provides:

  - In-Memory storage - Real-time performance (with optional
    checkpointing to disk)
  - Transparent Auto-Sharding - Read & write scalability
  - Active-Active/Multi-Master geographic replication
  - 99.999% High Availability with no single point of failure
    and on-line maintenance
  - NoSQL and SQL APIs (including C++, Java, http and Memcached)

MySQL Cluster 7.2.22, has been released and can be downloaded from

  http://www.mysql.com/downloads/cluster/

where you will also find Quick Start guides to help you get your
first MySQL Cluster database up and running.

The release notes are available from

http://dev.mysql.com/doc/relnotes/mysql-cluster/7.2/en/index.html

MySQL Cluster enables users to meet the database challenges of next
generation web, cloud, and communications services with uncompromising
scalability, uptime and agility.

More details can be found at

  http://www.mysql.com/products/cluster/

Enjoy !

==============================================================================
Changes in MySQL Cluster NDB 7.2.22 (5.5.46-ndb-7.2.22) (2015-10-19)

   MySQL Cluster NDB 7.2.22 is a new release of MySQL Cluster,
   incorporating new features in the NDB storage engine, and
   fixing recently discovered bugs in previous MySQL Cluster NDB
   7.2 development releases.

   Obtaining MySQL Cluster NDB 7.2.  MySQL Cluster NDB 7.2
   source code and binaries can be obtained from
   http://dev.mysql.com/downloads/cluster/.

   This release also incorporates all bugfixes and changes made
   in previous MySQL Cluster releases, as well as all bugfixes
   and feature changes which were added in mainline MySQL 5.5
   through MySQL 5.5.46 (see Changes in MySQL 5.5.46 (2015-09-30)
(http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-46.html)).

   Bugs Fixed

     * Backup block states were reported incorrectly during
       backups. (Bug #21360188)
       References: See also Bug #20204854, Bug #21372136.

     * When a data node is known to have been alive by other
       nodes in the cluster at a given global checkpoint, but
       its sysfile reports a lower GCI, the higher GCI is used
       to determine which global checkpoint the data node can
       recreate. This caused problems when the data node being
       started had a clean file system (GCI = 0), or when it was
       more than more global checkpoint behind the other nodes.
       Now in such cases a higher GCI known by other nodes is
       used only when it is at most one GCI ahead. (Bug
       #19633824)
       References: See also Bug #20334650, Bug #21899993. This
       bug was introduced by Bug #29167.

     * After restoring the database schema from backup using
       ndb_restore, auto-discovery of restored tables in
       transactions having multiple statements did not work
       correctly, resulting in Deadlock found when trying to get
       lock; try restarting transaction errors.
       This issue was encountered both in the mysql client, as
       well as when such transactions were executed by
       application programs using Connector/J and possibly other
       MySQL APIs.
       Prior to upgrading, this issue can be worked around by
       executing SELECT TABLE_NAME, TABLE_SCHEMA FROM
       INFORMATION_SCHEMA.TABLES WHERE ENGINE = 'NDBCLUSTER' on
       all SQL nodes following the restore operation, before
       executing any other statements. (Bug #18075170)

     * ndb_desc used with the --extra-partition-info and
       --blob-info options failed when run against a table
       containing one or more TINYBLOB. columns. (Bug #14695968)

     * Cluster API: The internal value representing the latest
       global checkpoint was not always updated when a completed
       epoch of event buffers was inserted into the event queue.
       This caused subsequent calls to Ndb::pollEvents() and
       pollEvents2() to fail when trying to obtain the correct
       GCI for the events available in the event buffers. This
       could also result in later calls to nextEvent() or
       nextEvent2() seeing events that had not yet been
       discovered. (Bug #78129, Bug #21651536)

     * Cluster API: While executing dropEvent(), if the
       coordinator DBDICT failed after the subscription manager
       (SUMA block) had removed all subscriptions but before the
       coordinator had deleted the event from the system table,
       the dropped event remained in the table, causing any
       subsequent drop or create event with the same name to
       fail with NDB error 1419 Subscription already dropped or
       error 746 Event name already exists. This occurred even
       when calling dropEvent() with a nonzero force argument.
       Now in such cases, error 1419 is ignored, and DBDICT
       deletes the event from the table. (Bug #21554676)

MySQL Release Engineering Team

MySQL Connector/NET 6.9.8 has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Connector/Net 6.9.8 is a maintenance release for the 6.9.x
series of the .NET driver for MySQL. It can be used for production
environments.

It is appropriate for use with MySQL server versions 5.5-5.7.

It is now available in source and binary form from
http://dev.mysql.com/downloads/connector/net/#downloadsandmirrorsites
(note that not all mirror sites may be up to date at this point-if you
can't find this version on some mirror, please try again later or choose
another download site.)

Changes in MySQL Connector/Net 6.9.8 (2015-10-20)

   Functionality Added or Changed

     * The GB18030 Chinese character set is now supported, a
       character set that was added in MySQL 5.7.4. (Bug
       #21098546, Bug #21803306, Bug #21803300)

     * Generated columns (GENERATION_EXPRESSION) are now
       supported, a feature added in MySQL 5.7.6.

     * The JSON type is now supported, a type that was added in
       MySQL 5.7.8.


The documentation is available at:
http://dev.mysql.com/doc/connector-net/en/

Nuget packages are available at:
https://www.nuget.org/packages/MySql.Data/6.9.8
https://www.nuget.org/packages/MySql.Data.Entity/6.9.8
https://www.nuget.org/packages/MySql.Fabric/6.9.8
https://www.nuget.org/packages/MySql.Web/6.9.8


Enjoy and thanks for the support!

On behalf of the MySQL Connector/NET and the MySQL/ORACLE RE Team.

MySQL Connector/NET 6.8.7 has been released (no replies)

$
0
0
Dear MySQL users,

 MySQL Connector/Net 6.8.7 is a maintenance release for the 6.8.x
 series of the .NET driver for MySQL. It can be used for production
 environments.

 It is appropriate for use with MySQL server versions 5.5-5.7.

 It is now available in source and binary form from
http://dev.mysql.com/downloads/connector/net/#downloadsandmirrorsites
 (note that not all mirror sites may be up to date at this point-if you
 can't find this version on some mirror, please try again later or choose
 another download site.)

 Changes in MySQL Connector/Net 6.8.7           (2015-10-21)

   Functionality Added or Changed

     * The GB18030 Chinese character set is now supported, a
       character set that was added in MySQL 5.7.4. (Bug
       #21098546, Bug #21803306, Bug #21803300)

     * Generated columns (GENERATION_EXPRESSION) are now
       supported, a feature added in MySQL 5.7.6.

     * The JSON type is now supported, a type that was added in
       MySQL 5.7.8.

   Bugs Fixed

     * A connection string that included Chinese characters for
       a database or uid property would emit the following
       exception; "MySqlException: Unknown database '???'". To
       solve this, the handshake process was changed to use
       bytes instead of encoded strings. (Bug #18141356, Bug
       #70041)

 The documentation is available at:
http://dev.mysql.com/doc/connector-net/en/

 Nuget packages are available at:

https://www.nuget.org/packages/MySql.Data/6.8.7
https://www.nuget.org/packages/MySql.Data.Entity/6.8.7
https://www.nuget.org/packages/MySql.Web/6.8.7

 Enjoy and thanks for the support!

 On behalf of the MySQL Connector/NET and the MySQL/ORACLE RE Team.

 Sreedhar S 

MySQL Connector/NET 6.7.9 has been released (no replies)

$
0
0
 
Dear MySQL users,

MySQL Connector/Net 6.7.9 is a maintenance release for the 6.7.x
series of the .NET driver for MySQL. It can be used for production
environments.

It is appropriate for use with MySQL server versions 5.5-5.7.

It is now available in source and binary form from
http://dev.mysql.com/downloads/connector/net/#downloadsandmirrorsites
(note that not all mirror sites may be up to date at this point-if you
can't find this version on some mirror, please try again later or choose
another download site.)

Changes in MySQL Connector/Net 6.7.9 (2015-10-21)

   Functionality Added or Changed

     * The GB18030 Chinese character set is now supported, a
       character set that was added in MySQL 5.7.4. (Bug
       #21098546, Bug #21803306, Bug #21803300)

     * Generated columns (GENERATION_EXPRESSION) are now
       supported, a feature added in MySQL 5.7.6.

     * The JSON type is now supported, a type that was added in
       MySQL 5.7.8.

The documentation is available at:
http://dev.mysql.com/doc/connector-net/en/

The links for Nuget packages are:
https://www.nuget.org/packages/MySql.Data/6.7.9
https://www.nuget.org/packages/MySql.Data.Entity/6.7.9
https://www.nuget.org/packages/MySql.Web/6.7.9

Enjoy and thanks for the support!

On behalf of the MySQL Connector/NET and the MySQL/ORACLE RE Team.
Gipson Pulla

MySQL Enterprise Backup 4.0.0 has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Enterprise Backup v4.0.0, a new version of the online MySQL backup
tool, is now available for download from the My Oracle Support (MOS) website
as our latest GA release. This release will be available on eDelivery (OSDC)
after the next upload cycle. MySQL Enterprise Backup is a commercial
extension to the MySQL family of products.

MySQL Enterprise Backup v4.0.0 supports only the MySQL server 5.7.9 and above.
For any earlier versions of the MySQL server, please use
MySQL Enterprise Backup 3.12 instead. 

A brief summary of the changes in MySQL Enterprise Backup (MEB)
version 4.0.0 is given below.

Changes in MySQL Enterprise Backup 4.0.0        (2015-10-21)

   Functionality Added or Changed
    

     *  MySQL Enterprise Backup 4.0 supports MySQL server 5.7, on
        which:

          + Tables in general tablespaces
            (http://dev.mysql.com/doc/refman/5.7/en/glossary.htm
             l#glos_general_tablespace) can be backed up and
            restored.

          + InnoDB tables with page sizes
            (http://dev.mysql.com/doc/refman/5.7/en/glossary.htm
             l#glos_page_size) of 32 and 64K can be backed up and
            restored.

          + Partitioned tables can be selectively backed up or
            restored using the --use-tts, --include-tables, and
            --exclude-tables options.
       See What's New in MySQL Enterprise Backup 4.0?
       (http://dev.mysql.com/doc/mysql-enterprise-backup/4.0/en/
        what-is-new.html) for details.

     * MySQL Enterprise Backup now writes tape information onto
       the MySQL server when a backup is made to a tape using
       the System Backup to Tape (SBT) API. See What's New in
       MySQL Enterprise Backup 4.0?
       (http://dev.mysql.com/doc/mysql-enterprise-backup/4.0/en/
        what-is-new.html) for details.

   Bugs Fixed

     * When restoring an incremental backup image, if the binary
       log in the backup was larger than 16MB, the restored
       binary log would become corrupted. (Bug #20915642)

     * When the --password option was used without an argument
       with the copy-back-and-apply-log command, mysqlbackup did
       not prompt user for a password, but either took the
       password from the defaults files, or took it to be an
       empty string when no value was specified in the defaults
       files. (Bug #20915642)


The complete manual for MEB 4.0.0 is at
http://dev.mysql.com/doc/mysql-enterprise-backup/4.0/en/index.html

The tool is available for download from Oracle Software Delivery
Cloud (http://edelivery.oracle.com/).

You can also download the binaries from MOS, https://support.oracle.com
Choose the "Patches & Updates" tab, and then use the "Product or Family
(Advanced Search)" feature. If you haven't looked at MEB recently,
please do so now and let us know how MEB works for you.

Your feedback is greatly appreciated!

Please report any problems you have at https://bug.oraclecorp.com/
for the product "MySQL Enterprise Backup"

Thanks,

On behalf MySQL RE team at Oracle

Sreedhar S

MySQL 5.7: 1.6 mil QPS (no replies)

MySQL Community Server 5.7.9 (GA) has been released (part 1/2) (no replies)

$
0
0
Dear MySQL users,

MySQL Server 5.7.9 (GA) is a new version of the world's
most popular open source database. This is the first official release
of MySQL 5.7.

[Due to size limitations on forum/email, this announcement had to be
split into two parts. This is part 1.]

The new features in this release are now deemed to be of Release quality.

Note that 5.7.9 includes all features in MySQL 5.6 and previous 5.7
Development Milestone Releases. An overview of what's new in MySQL 5.7
is available online at

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

For information on installing MySQL 5.7.9 on new servers, please see
the MySQL installation documentation at

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

MySQL Server 5.7.9 is available in source and binary form for a number of
platforms from the "Development Releases" selection of our download
pages at

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

MySQL Server 5.7.9 is also available from our repository for Linux
platforms, go here for details:

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

Windows packages are available via the Installer for Windows or .ZIP
(no-install) packages for more advanced needs. The point and click
configuration wizards and all MySQL products are available in the
unified Installer for Windows:

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

5.7.9 also comes with a web installer as an alternative to the full
installer.

The web installer doesn't come bundled with any actual products
and instead relies on download-on-demand to fetch only the
products you choose to install. This makes the initial download
much smaller but increases install time as the individual products
will need to be downloaded.

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

http://bugs.mysql.com/report.php

The following section lists the changes in MySQL 5.7.9 since the 5.7.8
Release Candidate.

http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-9.html

Enjoy!

Changes in MySQL 5.7.9 (2015-10-21)


     * Audit Log Plugin Notes

     * C API Notes

     * Compilation Notes

     * Packaging Notes

     * Performance Schema Notes

     * Plugin Notes

     * Security Notes

     * Spatial Data Support

     * sys Schema Notes

     * Functionality Added or Changed

     * Bugs Fixed

   Audit Log Plugin Notes

     * Some events cannot be terminated. Previously, if an audit
       plugin returned nonzero status for a nonterminable event,
       the server ignored the status and continued processing
       the event. However, if an audit plugin used the
       my_message() function to terminate a nonterminable event,
       a server exit occurred. Now the server correctly handles
       termination of nonterminable events using my_message().
       (Bug #21458066)

   C API Notes

     * The mysql_options() C API function has two new options,
       MYSQL_OPT_MAX_ALLOWED_PACKET and
       MYSQL_OPT_NET_BUFFER_LENGTH, that set the
       max_allowed_packet and net_buffer_length system
       variables, respectively. Each option name also now can be
       passed to the mysql_get_option() C API function to
       retrieve its value. For more information, see
       mysql_options()
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-options.html),
       and mysql_get_option()
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-get-option.html).
       (Bug #20821550)

     * Previously, it was necessary to call mysql_thread_end()
       for each mysql_thread_init() call to avoid a memory leak.
       C API internals have been reimplemented to reduce the
       amount of information allocated by mysql_thread_init()
       that must be freed by mysql_thread_end():

          + For release/production builds without debugging
            support enabled, mysql_thread_end() need not be
            called.

          + For debug builds, mysql_thread_init() allocates
            debugging information for the DBUG package (see The
            DBUG Package
            (http://dev.mysql.com/doc/refman/5.7/en/dbug-package.html)).
            mysql_thread_end() must be called for each
            mysql_thread_init() call to avoid a memory leak.
       (Bug #20621281, Bug #21802367)

   Compilation Notes

     * MySQL distributions now contain a mysqlclient.pc file
       that provides information about MySQL configuration for
       use by the pkg-config command. This enables pkg-config to
       be used as an alternative to mysql_config for obtaining
       information such as compiler flags or link libraries
       required to compile MySQL applications. For more
       information, see Building C API Client Programs Using
       pkg-config
(http://dev.mysql.com/doc/refman/5.7/en/c-api-building-clients-pkg-config.html).
       A new INSTALL_PKGCONFIGDIR CMake option is available to
       specify the directory in which to install the
       mysqlclient.pc file. The default value is
       INSTALL_LIBDIR/pkgconfig, unless INSTALL_LIBDIR ends with
       /mysql, in which case that is removed first. (Bug
       #20637746)

   Packaging Notes

     * The shell and Perl versions of mysql_install_db have been
       removed from MySQL distributions. The executable C++
       version of mysql_install_db implemented in MySQL 5.7.5 is
       still present, but remains deprecated (use mysqld
       --initialize instead) and will be removed in a future
       MySQL release. (Bug #21625471)

     * The deprecated _r versions of the libmysqlclient
       libraries are no longer installed. (Bug #21311067)

   Performance Schema Notes

     * Previously, the transaction instrument in the
       setup_instruments table was disabled by default, and the
       events_transactions_current and
       events_transactions_history consumers in the
       setup_consumers table were enabled by default. This setup
       is inconsistent, and having the consumers enabled could
       lead to the impression that transactions were
       instrumented by default. Now, the consumers are also
       disabled by default. To monitor transactions, enable the
       instrument and the applicable consumers. (Bug #21780891)

     * With the show_compatibility_56 system variable disabled,
       SHOW VARIABLES and SHOW STATUS statements failed if MySQL
       was compiled without Performance Schema support.
       Consequently, it is no longer possible to compile without
       the Performance Schema. If it is desired to compile
       without particular types of instrumentation, that can be
       done with the following CMake options:
DISABLE_PSI_COND
DISABLE_PSI_FILE
DISABLE_PSI_IDLE
DISABLE_PSI_MEMORY
DISABLE_PSI_METADATA
DISABLE_PSI_MUTEX
DISABLE_PSI_PS
DISABLE_PSI_RWLOCK
DISABLE_PSI_SOCKET
DISABLE_PSI_SP
DISABLE_PSI_STAGE
DISABLE_PSI_STATEMENT
DISABLE_PSI_STATEMENT_DIGEST
DISABLE_PSI_TABLE
DISABLE_PSI_THREAD
DISABLE_PSI_TRANSACTION

       For example, to compile without mutex instrumentation,
       configure MySQL using the -DDISABLE_PSI_MUTEX=1 option.
       (Bug #21669500)

     * Two changes were made regarding the effect of
       show_compatibility_56:

          + Previously, when show_compatibility_56=OFF,
            selecting from the following INFORMATION_SCHEMA
            system and status variable tables returned an empty
            result and a deprecation warning:
INFORMATION_SCHEMA.GLOBAL_VARIABLES
INFORMATION_SCHEMA.SESSION_VARIABLES
INFORMATION_SCHEMA.GLOBAL_STATUS
INFORMATION_SCHEMA.SESSION_STATUS

            This caused confusion for applications that were not
            aware that such selects could be empty: An empty
            result and a warning was not sufficient notice to
            signal the need to migrate to the corresponding
            Performance Schema system and status variable
            tables.
            To address this issue, selecting from the
            INFORMATION_SCHEMA system and status tables now
            produces an error, to make it more evident that an
            application is operating under conditions that
            require modification, as well as where the problem
            lies. The error code is ER_FEATURE_DISABLED_SEE_DOC.
            The error message indicates which table is disabled
            and that the show_compatibility_56 documentation
            should be consulted.

          + Previously, when show_compatibility_56=ON, selecting
            from the following Performance Schema status
            variable tables returned an empty result:
performance_schema.global_status
performance_schema.session_status

            This made it more difficult to migrate applications
            from the INFORMATION_SCHEMA status variable tables
            to the corresponding Performance Schema tables:
            Successfully selecting from the Performance Schema
            tables required knowing both that the server is from
            MySQL 5.7 and that show_compatibility_56=OFF.
            To address this issue, selecting from the
            Performance Schema status variable tables now
            produces the same result regardless of the value of
            show_compatibility_56. Thus, it is necessary to know
            only that the server is from MySQL 5.7.9 or higher.
            (If so, select from the Performance Schema tables.
            Otherwise, select from the INFORMATION_SCHEMA
            tables.)
       For additional information about the effects of
       show_compatibility_56 and migration issues, see Server
       System Variables
       (http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html),
       and Migrating to Performance Schema System
       and Status Variable Tables
(http://dev.mysql.com/doc/refman/5.7/en/performance-schema-variable-table-migration.html).
       (Bug #21606701)

     * These Performance Schema tables now are world readable
       and accessible without the SELECT privilege:
       global_variables, session_variables, global_status, and
       session_status. An implication of this change is that
       SHOW VARIABLES and SHOW STATUS no longer require
       privileges on the underlying Performance Schema tables
       from which their output is produced when
       show_compatibility_56=OFF. (Bug #21251297)

     * With the show_compatibility_56 system variable enabled,
       the reported values of the Last_query_cost and
       Last_query_partial_plans status variables were incorrect.
       With the show_compatibility_56 system variable disabled,
       the reported values of the Created_tmp_tables,
       Handler_external_lock, and Table_open_cache_% status
       variables were incorrect. (Bug #20483278, Bug #21788549,
       Bug #21788887)

     * The Performance Schema session_account_connect_attrs had
       mistakenly been changed to require the SELECT privilege.
       It requires no special privileges again. (Bug #77702, Bug
       #21436364)
       References: This bug was introduced by Bug #14569746.

     * In the setup_timers table, a CYCLE timer for ARM64
       platforms is now available. (Bug #77620, Bug #21374923)

     * The Performance Schema now includes these instruments for
       monitoring I/O on binary log and relay log cache files:
wait/io/file/sql/binlog_cache
wait/io/file/sql/binlog_index_cache
wait/io/file/sql/relaylog_cache
wait/io/file/sql/relaylog_index_cache

       In addition, the default value of
       performance_schema_max_file_classes has been increased
       from 50 to 80. (Bug #76225, Bug #20675180)

     * The Performance Schema threads table now contains a
       THREAD_OS_ID column that indicates the thread or task
       identifier as defined by the underlying operating system.
       For example, the column value corresponds to the Process
       Explorer thread ID on Windows and the gettid() value on
       Linux. For more information, see The threads Table
       (http://dev.mysql.com/doc/refman/5.7/en/threads-table.html).
       If you upgrade to this MySQL release from an earlier
       version, you must run mysql_upgrade (and restart the
       server) to incorporate this change into the
       performance_schema database.

   Plugin Notes

     * The audit plugin API has been extensively revised to
       support a finer breakdown of the general event type
       (MYSQL_AUDIT_GENERAL_CLASS) into more specific events.
       This enables audit plugins to more precisely indicate the
       types of events in which they are interested and reduces
       overhead for plugins that have use for only a few event
       types. The API also now permits early termination of
       event execution. For more information, see Writing Audit
       Plugins
       (http://dev.mysql.com/doc/refman/5.7/en/writing-audit-plugins.html).
       The general event type is still available but
       is deprecated and will be removed in a future MySQL
       release.
       In addition, a security_context plugin service is now
       available. Audit plugins can use this service to examine
       or modify the security context of threads associated with
       audited events. See MySQL Services for Plugins
       (http://dev.mysql.com/doc/refman/5.7/en/plugin-services.html).

   Security Notes

     * For RPM-based packages, the permissions used to create
       the data directory (/var/lib/mysql) have been changed
       from 755 to 751. This tightens the data directory
       permissions while still permitting world access to the
       mysql.sock file in that directory. (Bug #21066592)

   Spatial Data Support

     * The required version of the Boost library for server
       builds has been raised from 1.58.0 to 1.59.0. (Bug
       #21567456)

     * Spatial functions such as ST_MPointFromText() and
       ST_GeomFromText() that accept WKT-format representations
       of MultiPoint values now permit individual points within
       values to be surrounded by parentheses. For example, both
       of the following function calls are valid, whereas
       previously the second one produced an error:
ST_MPointFromText('MULTIPOINT (1 1, 2 2, 3 3)')
ST_MPointFromText('MULTIPOINT ((1 1), (2 2), (3 3))')

       In addition, functions such as ST_AsText() and ST_AsWKT()
       that produce WKT-format results now display MultiPoint
       values with parentheses surrounding each point. (Bug
       #54065, Bug #11761559)

   sys Schema Notes

     * The sys schema included in MySQL distributions was
       updated to version 1.5.0. This includes new features and
       fixes for several issues:

          + sys schema objects now have a DEFINER of
            'mysql.sys'@'localhost'. (Previously, the DEFINER
            was 'root'@'localhost'.) Use of the dedicated
            mysql.sys account avoids problems that occur if a
            DBA renames or removes the root account.

          + The following sys schema session views now provide
            progress reporting for long-running transactions:
processlist
session
x$processlist
x$session

            The progress column of these views shows the
            percentage of work completed for stages that support
            progress reporting.

          + A new diagnostics() stored procedure enables DBAs
            and other support personnel to collect diagnostic
            information for investigating MySQL instances. A new
            metrics view and statement_performance_analyzer()
            stored procedure provide supporting infrastructure
            for the diagnostics() procedure.

          + The sys schema ps_is_instrument_default_enabled()
            and ps_is_instrument_default_timed() stored
            functions returned incorrect results in some cases.

          + The ENABLED and HISTORY columns that were added to
            the Performance Schema setup_actors table in earlier
            MySQL 5.7 releases caused the sys schema
            ps_setup_reset_to_default() stored procedure not to
            work.

          + Handing of event-timing information in the sys
            schema was updated to handle changes to Performance
            Schema event-timing columns in MySQL 5.7.8.

          + mysql_upgrade previously checked for an exact
            object-count value in the sys schema to determine
            whether an upgrade was needed. If local objects had
            been added, the resulting reinstallation removed
            those objects. Now it checks for at least the
            expected number of objects.
       If you upgrade to this MySQL release from an earlier
       version, you must run mysql_upgrade to incorporate these
       changes into the sys schema.
       Thanks to Daniël van Eeden, Jesper Wisborg Krogh, Shlomi
       Noach, and Morgan Tocker for their contributions to this
       update. (Bug #78115, Bug #21647101, Bug #77927, Bug
       #21550271, Bug #78720, Bug #21966366)

   Functionality Added or Changed

     * Incompatible Change; InnoDB: To better manage redo log
       format changes, the redo log header of the first redo log
       file (ib_logfile0) now includes a format version
       identifier and a text string that identifies the MySQL
       version that created the redo log files.
       A new boolean configuration option, innodb_log_checksums,
       replaces the innodb_log_checksum_algorithm option.
       innodb_log_checksums=ON enables a CRC-32C checksum,
       making it the only supported checksum for redo log pages.
       This patch also removes unused fields from the redo log
       header and checkpoint pages.
       Due to redo log format changes introduced by this patch,
       upgrading to or downgrading from MySQL 5.7.9 and higher
       requires a clean shutdown and, in some cases, removal of
       existing redo log files. For instructions related to this
       change, see Changes Affecting Upgrades to MySQL 5.7
(http://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html),
       and Changes Affecting Downgrades
       from MySQL 5.7
(http://dev.mysql.com/doc/refman/5.7/en/downgrading-to-previous-series.html).
       (Bug #21759424)

     * Important Change; InnoDB: DYNAMIC replaces COMPACT as the
       implicit default row format for InnoDB tables. A new
       configuration option, innodb_default_row_format,
       specifies the default InnoDB row format. Permitted values
       include DYNAMIC (the default), COMPACT, and REDUNDANT.
       The COMPACT row format remained the default row format
       until this release to ensure compatibility with older
       versions of InnoDB in MySQL 5.1 and earlier. Now that
       MySQL 5.1 has reached the end of its product lifecycle,
       the newer DYNAMIC row format becomes the default. For
       information about advantages of the DYNAMIC row format,
       see DYNAMIC and COMPRESSED Row Formats
       (http://dev.mysql.com/doc/refman/5.7/en/innodb-row-format-dynamic.html).
       Newly created tables use the row format defined by
       innodb_default_row_format when a ROW_FORMAT option is not
       specified explicitly or when ROW_FORMAT=DEFAULT is used.
       Existing tables retain their current row format if a
       ROW_FORMAT option was specified explicitly. If a
       ROW_FORMAT option was not specified explicitly or if
       ROW_FORMAT=DEFAULT was used, any operation that rebuilds
       a table also silently changes the row format of the table
       to the format defined by innodb_default_row_format. For
       more information, see Specifying the Row Format for a
       Table
(http://dev.mysql.com/doc/refman/5.7/en/innodb-row-format-specification.html).

     * Important Change: Introduced the -> JSON column-path
       operator. column->path is now supported as a synonym of
       JSON_EXTRACT(column, path), where column is a JSON
       column, and path is a valid JSON path.
       An expression with ->, like its equivalent that uses
       JSON_EXTRACT() instead, can be used in place of a column
       identifier wherever the latter can occur within a valid
       SQL statement. For example, the following CREATE TABLE
       and SELECT statements are valid:
CREATE TABLE t1 (
  a JSON,
  b INT,
  g INT GENERATED ALWAYS AS (a->"$.id"),
  h INT GENERATED ALWAYS AS (a->"$.storeid"),
  INDEX i (g),
  INDEX j (h)
);

SELECT
  CONCAT(a->"$.fname", ' ', a->"$.lname") AS name,
  a->"$.id" AS id,
  a->"$.storeid" AS store
  FROM t1
  WHERE g > 500
  ORDER BY a->"$.storeid", a->"$.lname";

       A column-path expression can be used for any column value
       that is read in a SELECT column list, or in a WHERE,
       ORDER BY, or GROUP BY clause in any SQL statement; such
       expressions cannot be used to set values.
       When an SQL statement contains one or more expressions
       using -> notation, each of these is translated into an
       equivalent expression that employs the JSON_EXTRACT()
       function instead. This can be seen in the output from
       EXPLAIN when used on such a statement.
       Like JSON_EXTRACT(), the -> operator returns as NULL if
       no matching value for an otherwise valid path is found.
       For more information about -> and JSON_EXTRACT(), see
       Functions That Search JSON Values
       (http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html).
       See Searching and Modifying JSON Values
       (http://dev.mysql.com/doc/refman/5.7/en/json.html#json-paths),
       for information about JSON path support. See also
       Secondary Indexes and Virtual Generated Columns
(http://dev.mysql.com/doc/refman/5.7/en/create-table.html#create-table-secondary-indexes-virtual-columns),
       for additional information and examples.

     * InnoDB: A new INNODB_METRICS server operations counter
       (innodb_dict_lru_count) counts the number of tables
       evicted from the table cache LRU list. Thanks to Daniël
       van Eeden for the patch. (Bug #21682332, Bug #78190)

     * InnoDB: The new innodb_numa_interleave read-only
       configuration option allows you to enable the NUMA
       interleave memory policy for allocation of the InnoDB
       buffer pool. When innodb_numa_interleave is enabled, the
       NUMA memory policy is set to MPOL_INTERLEAVE for the
       mysqld process. After the InnoDB buffer pool is
       allocated, the NUMA memory policy is set back to
       MPOL_DEFAULT. This option is only available on
       NUMA-enabled systems.
       Thanks to Stewart Smith for the patch. (Bug #18871046,
       Bug #72811)

     * MySQL distributions now include these header files
       because my_sys.h depends on them: my_thread_local.h,
       thr_cond.h, thr_mutex.h, thr_rwlock.h. (Bug #21909332)

     * MySQL Server RPM packages now obsolete MySQL Connector C.
       Installing MySQL Server causes older libmysqlclient from
       any MySQL Connector C packages to be removed and replaces
       them with the current libmysqlclient. (Bug #21900800)

     * yaSSL was upgraded to version 2.3.8. (Bug #21888925)

     * Insert overhead for the MEMORY storage table was reduced
       by caching computed hash values. (Bug #21866029)

     * RPM .spec files were updated so that MySQL Server builds
       from source RPM packages will include the proper files to
       take advantage of operating system NUMA capabilities.
       This introduces a runtime dependency on libnuma.so.1. RPM
       and yum detect this and refuse to install if that library
       is not installed. (Bug #21775221)

     * The initial-password message written by mysqld
       --initialize to the error log has been reduced from a
       [Warning] to a [Note]. (Bug #21680457)

     * The JSON_APPEND() function was renamed to
       JSON_ARRAY_APPEND(). (Bug #21560934)

     * Unneeded scripts and test files were removed from the
       tests directory and that directory was renamed to
       testclients. (Bug #21490075)

     * The JSON value-updating functions JSON_APPEND(),
       JSON_SET(), JSON_REPLACE(), and JSON_INSERT() now treat
       SQL NULL values as JSON null literals, which is
       consistent with JSON_OBJECT() and JSON_ARRAY(). (Bug
       #21450922)

     * The server now generates a warning when the
       default_storage_engine or default_tmp_storage_engine
       system variable is set to a disabled storage engine named
       in the disabled_storage_engines system variable. (Bug
       #21405865)

     * Metadata locking for tablespaces has been extended so
       that, for DDL statements that refer to multiple
       tablespaces, a metadata lock is acquired on all used
       tablespaces. (Bug #21376265)

     * Support for building with Solaris Studio 5.13 was added.
       (Bug #21185883)

     * mysql_ssl_rsa_setup now is less noisy by default. Output
       from openssl commands is displayed only if --verbose is
       given. (Bug #21024979)

     * yaSSL was upgraded to version 2.3.7d. This fixes a
       connection-failure issue when used with the thread pool
       plugin. (Bug #20774956)

     * mysqlpump now supports a --version option. (Bug #77894,
       Bug #21534277)

     * Performance Schema digests in DIGEST_TEXT columns have
       ... appended to the end to indicate when statements
       exceed the maximum statement size and were truncated.
       This is also now done for statement text values in
       SQL_TEXT columns. (Bug #75861, Bug #20519832)

     * Output from mysql_upgrade is now less noisy and more
       informative. (Bug #59077, Bug #11766046)

     * A new SHUTDOWN SQL statement is available. This provides
       a SQL-level interface to the same functionality
       previously available using the mysqladmin shutdown
       command or the mysql_shutdown() C API function. See
       SHUTDOWN Syntax
       (http://dev.mysql.com/doc/refman/5.7/en/shutdown.html).

     * Work was done to clean up the source code base,
       including: Removal of unneeded CMake checks; removing
       unused macros from source files; reorganizing header
       files to reduce the number of dependencies and make them
       more modular, removal of function declarations without
       definitions.

   Bugs Fixed

     * Important Change; InnoDB; Partitioning: There was no way
       to upgrade existing partitioned tables to use the native
       partitioning implemented for InnoDB tables in MySQL
       5.7.6. This fix adds support to both mysql_upgrade and
       the mysql client for upgrading partitioned InnoDB tables
       created in previous releases, which used the ha_partition
       handler, to use InnoDB native partitioning instead.

          + mysql_upgrade now checks for all InnoDB tables that
            were created using the generic ha_partition handler
            and attempts to upgrade them to InnoDB native
            partitioning.

          + In the mysql client, pre-5.7.6 partitioned InnoDB
            tables can be upgraded one by one to native
            partitioning using the ALTER TABLE ... UPGRADE
            PARTITIONING statement that is implemented in this
            release.
       (Bug #20727344, Bug #76374)

     * Important Change; Replication: The START SLAVE and STOP
       SLAVE statements can no longer be used for the
       group_replication_recovery channel. See Replication
       Channels
       (http://dev.mysql.com/doc/refman/5.7/en/replication-channels.html),
       for more information. (Bug #21680074)

     * Important Change; Replication: In MySQL 5.7, the
       binlog_max_flush_queue_time system variable introduced in
       MySQL 5.6 no longer has any effect. This variable is now
       deprecated, and has been marked for eventual removal in a
       future MySQL release. (Bug #21347087)

     * Important Change; Replication: When using a
       single-threaded slave, the status of the applier thread
       is now reported as part of the
       replication_applier_status_by_worker table, instead of
       replication_applier_status_by_coordinator. This means
       that replication_applier_status_by_coordinator is now
       empty when using a single-threaded slave; it should be
       noted that such reporting for multi-threaded slaves has
       not been changed, and continues to be shown in that
       table. (Bug #74765, Bug #20001173)

     * InnoDB: The undo log contained insufficient information
       about virtual columns and virtual column indexes, which
       could cause a server exit when adding or dropping virtual
       columns. As a result, a slow shutdown (using
       innodb_fast_shutdown=0) is required prior to performing
       an in-place upgrade or downgrade from MySQL 5.7.8. For
       more information, refer to Upgrading or Downgrading MySQL
       (http://dev.mysql.com/doc/refman/5.7/en/upgrading-downgrading.html).
       (Bug #21869656)

     * InnoDB: A table-rebuilding ALTER TABLE operation that
       created an index on a virtual column raised an assertion.
       (Bug #21847170)

     * InnoDB: A SELECT ... FOR UPDATE operation on a table with
       virtual generated columns raised an assertion. InnoDB
       unnecessarily retrieved a non-indexed virtual column for
       a covered secondary index scan. (Bug #21827963)

     * InnoDB: Creating a table with large rows failed when
       using a ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED due
       to an incorrect undo log record size calculation. The
       same operation succeeded with ROW_FORMAT=COMPACT or
       ROW_FORMAT=REDUNDANT.
       ROW_FORMAT=DYNAMIC and ROW_FORMAT=COMPRESSED now permit a
       row length violation at DDL time if innodb_strict_mode is
       disabled. (Bug #21816041)

     * InnoDB: Adding an index on a generated virtual column
       with an index prefix length that exceeded the maximum
       length caused a server exit. (Bug #21812026)

     * InnoDB: A memory leak occurred after crash recovery.
       Memory allocated in fil_space_read_name_and_filepath()
       was not freed. (Bug #21811321)

     * InnoDB: Altering the data type or computation method of a
       virtual generated column caused an error. (Bug #21810004)

     * InnoDB: An assertion was raised when creating a spatial
       index. InnoDB failed to count virtual columns that
       preceded the spatial index column. (Bug #21807340)

     * InnoDB: Tablespace discovery modifications in MySQL 5.7.5
       included the removal of code related to MLOG_FILE_CREATE2
       redo log records. As a result, the redo log did not
       contain sufficient information about file creation. (Bug
       #21801423)

     * InnoDB: The redo log provided no indication that redo
       logging is disabled for index page writes during
       concurrent DDL operations. As a result, external hot
       backup tools could produce corrupt backups. (Bug
       #21796691)

     * InnoDB: In debug builds, recovery asserted during a
       transparent page compression test. A torn page from the
       doublewrite buffer caused an LSN debug check failure.
       (Bug #21796092)

     * InnoDB: Creating a virtual generated column on a
       partitioned table caused a server exit. (Bug #21790751,
       Bug #78326)

     * InnoDB: An old version of numactl headers on the build
       host caused a compilation error when building a MySQL
       version that includes NUMA memory policy support. (Bug
       #21785074)

     * InnoDB: A SELECT .. FOR UPDATE operation on an indexed
       virtual generated column raised an assertion. (Bug
       #21775459)

     * InnoDB: The mysql_system_tables_fix_for_downgrade.sql
       script, provided to facilitate system table alterations
       when downgrading from MySQL 5.7.6 or higher, was removed
       from the MySQL installation directory. The script was no
       longer valid for all downgrade paths. For more
       information, see Changes Affecting Downgrades from MySQL
       5.7
(http://dev.mysql.com/doc/refman/5.7/en/downgrading-to-previous-series.html).
       (Bug #21753832)

     * InnoDB: The tablespace identifier (space_id) was logged
       twice for an MLOG_TRUNCATE redo log record. (Bug
       #21744589)

     * InnoDB: Crash recovery issued an invalid error message
       indicating that an isl file could not be opened or is not
       correct. (Bug #21691438)

     * InnoDB: The InnoDB Monitor displayed incorrect mutex
       creation information for a mutex with a long semaphore
       wait. (Bug #21682997, Bug #78179)

     * InnoDB: Error message formatting was corrected in the
       os_file_write_page() function. (Bug #21681433)

     * InnoDB: The i_s_dict_fill_sys_tablespaces() function
       could free memory associated with a file name before
       printing an error message. (Bug #21680518, Bug #78180)

     * InnoDB: In debug builds, scanned and applied redo log
       records are now printed with a string identifier instead
       of a numerical identifier when --debug=d,ib_log is passed
       to mysqld. For example, rec MLOG_2BYTES is now printed
       instead of rec 2. (Bug #21664268)

     * InnoDB: The number of system calls made by the InnoDB
       page compression feature was reduced. (Bug #21654695)

     * InnoDB: The recv_parse_log_rec function returned the
       length of the redo log record instead of 0 when
       encountering an incomplete MLOG_CHECKPOINT record. (Bug
       #21640085, Bug #78058)
       References: This bug is a regression of Bug #17798076.

     * InnoDB: In debug builds, a parenthesis mismatch in a
       MATCH() ... AGAINST clause raised a full-text parser
       assertion. (Bug #21638907)

     * InnoDB: Debug code was added to avoid a doublewrite
       buffer assertion that was raised during Valgrind testing.
       (Bug #21631197)

     * InnoDB: Log messages were improved to help identify
       out-of-space errors that could occur when adding rollback
       segments. (Bug #21629618)

     * InnoDB: In debug builds, enabling the
       innodb_log_checkpoint_now debug option while a
       table-rebuilding ALTER TABLE operation is running could
       result in an infinite loop. (Bug #21628087, Bug #78056)

     * InnoDB: UNIV_INLINE was not defined for the
       dict_table_has_indexed_v_cols function. (Bug #21628058,
       Bug #78055)

     * InnoDB: Altering a virtual column data type is not
       supported as an in-place operation. (Bug #21617377)

     * InnoDB: Sorting was skipped by an ALTER TABLE statement
       that changed the primary key and dropped the last column
       of the previous primary key. (Bug #21612714, Bug #78020)

     * InnoDB: During recovery, an invalid isl file was treated
       as a missing isl file, resulting in the tablespace being
       opened using the file location defined in an MLOG_FILE_*
       record in the redo log. Recovery no longer opens the
       tablespace if the isl file is invalid. (Bug #21577278)

     * InnoDB: Code that provided a timeout mechanism intended
       to reduce adaptive hash index search latch
       (btr_search_latch) contention was removed. The code
       became obsolete after the introduction of adaptive hash
       index search system partitioning in MySQL 5.7.8. (Bug
       #21569876, Bug #77957)

     * InnoDB: The COMPRESSION option was displayed incorrectly
       in SHOW CREATE TABLE output. (Bug #21557723, Bug #77940)

     * InnoDB: An innodb_data_file_path mismatch raised an
       assertion, as did initializing the database with a data
       file size that was too small for the specified page size.
       (Bug #21551464)

     * InnoDB: A check was added to prevent accessing full-text
       index tables that are in an inconsistent state. (Bug
       #21529012)

     * InnoDB: A schema mismatch error occurred when importing a
       tablespace that was altered by DROP INDEX operation on
       the source server. (Bug #21514135, Bug #77659)

     * InnoDB: A virtual generated column on a table that uses
       index condition pushdown (ICP) caused an assertion. (Bug
       #21507796, Bug #21478287)

     * InnoDB: Creating an index on a virtual generated column
       after adding a full-text index on a preceding column
       raised an assertion. (Bug #21478389)

     * InnoDB: An INSERT operation raised a btr_search_enabled
       assertion. Assertion code was too restrictive. (Bug
       #21457373)

     * InnoDB: Reloading a table that was evicted while empty
       caused an AUTO_INCREMENT value to be reset. (Bug
       #21454472, Bug #77743)

     * InnoDB: A crash during a TRUNCATE TABLE operation caused
       the server to exit on startup. (Bug #21451922)

     * InnoDB: The .isl was not removed when dropping a general
       tablespace that was created outside of the MySQL data
       directory. (Bug #21446772)

     * InnoDB: An inconsistent read occurred under the
       REPEATABLE READ transaction isolation level. Transactions
       that operated on the same row were removed from
       transaction ID list in the incorrect order. (Bug
       #21433768)
       References: This bug is a regression of Bug #17320977.

     * InnoDB: Attempting to create a general tablespace data
       file on a Windows root drive caused an error. (Bug
       #21419888)

     * InnoDB: After disabling the adaptive hash index feature,
       an adaptive hash index latch was unnecessarily obtained
       and released. (Bug #21407023)

     * InnoDB: An ALTER TABLE operation on a table with an index
       defined on a virtual column incorrectly modified the data
       of the virtual column. (Bug #21376546, Bug #77628)

     * InnoDB: Resizing the buffer pool online raised an
       assertion due to a memory full condition. (Bug #21348684,
       Bug #77564)

     * InnoDB: An ALTER TABLE ... IMPORT TABLESPACE operation
       with innodb_page_size=4K and ROW_FORMAT=DYNAMIC raised an
       assertion. (Bug #21341030)

     * InnoDB: For spatial indexes, InnoDB unnecessarily stored
       a 3072-byte prefix in undo log records instead of just
       the maximum bounding rectangle (MBR). For columns with
       externally stored data, both the prefix and MBR are
       logged. (Bug #21340268)

     * InnoDB: Invalid init_ftfuncs() assertion code was
       removed. (Bug #21300774)

     * InnoDB: Memory allocation sanity checks were added to the
       memcached code. (Bug #21288106)

     * InnoDB: An incorrect reference count caused a hang in the
       TrxInInnoDB constructor. innobase_close_connection()
       released the transaction object before destroying the
       TrxInInnoDB object where the reference count is adjusted.
       (Bug #21280816)

     * InnoDB: A MySQL 5.7.8 patch that reintroduced SHOW ENGINE
       INNODB MUTEX functionality caused a performance
       regression. (Bug #21266784)

     * InnoDB: A memcached flush_all command raised an
       assertion. A function that starts a transaction was
       called from within assertion code. (Bug #21239299, Bug
       #75199)

     * InnoDB: A shutdown hang occurred when a high priority
       transaction waited for a victim transaction to exit while
       the victim transaction waited for an asynchronous
       rollback to complete. (Bug #21143276)

     * InnoDB: A data corruption occurred on ARM64. GCC builtins
       did not issue the correct fences when setting or
       unsetting the lock word. (Bug #21102971, Bug #76135)

     * InnoDB: Server shutdown was delayed waiting for the purge
       thread to exit. To avoid this problem, the number of
       calls to trx_purge() was reduced, and the trx_purge()
       batch size was reduced to 20. (Bug #21040050)

     * InnoDB: In READ COMMITTED mode, a REPLACE operation on a
       unique secondary index resulted in a constraint
       violation. Thanks to Alexey Kopytov for the patch. (Bug
       #21025880, Bug #76927)

     * InnoDB: The IBUF_BITMAP_FREE bit indicated that there was
       more free space in the leaf page than was actually
       available. (Bug #20796566)

     * InnoDB: Moving the data directory before recovering a
       crashed database caused tablespace discovery to fail for
       file-per-table tablespaces created outside of the MySQL
       data directory. (Bug #20698468)

     * InnoDB: The innodb_buf_flush_list_now debug setting
       failed to flush all dirty pages to disk. (Bug #20582189)

     * InnoDB: An ALTER TABLE ... ADD FULLTEXT INDEX operation
       raised an assertion. A thread attempted to use a lower
       priority transaction that was being rolled back before
       the rollback operation completed. (Bug #20481175)

     * InnoDB: Running an ALTER TABLE operation on a referencing
       table with a cascading foreign key constraint during a
       concurrent DML operation on the referenced table caused a
       loss of referential integrity. (Bug #20367116)

     * InnoDB: Setting lower_case_table_names=0 on a
       case-insensitive file system could result in a hang
       condition when running an INSERT INTO ... SELECT ... FROM
       tbl_name operation with the wrong tbl_name letter case.
       An error message is now printed and the server exits when
       attempting to start the server with
       --lower_case_table_names=0 on a case-insensitive file
       system. (Bug #20198490, Bug #75185)

     * InnoDB: The server failed to start with an
       innodb_force_recovery setting greater than 3. InnoDB was
       set to read-only mode before redo logs were applied.
       DROP TABLE is now supported with an innodb_force_recovery
       setting greater than 3. (Bug #19779113)

     * InnoDB: The trx_sys_read_pertable_file_format_id()
       function reported the wrong file format. (Bug #19206671)

     * Packaging; OS X: Using user=mysql during installation on
       OS X did not allow the mysql database to be installed. To
       fix this problem, OS X packages now use the --no-defaults
       option when creating this database. This also means that
       having a my.cnf file on the system no longer affects the
       installation. (Bug #21364902)

     * Partitioning: Error handling for failed
       partitioning-related ALTER TABLE operations against
       non-partitioned tables was not performed correctly (Bug
       #20284744)

     * Partitioning: ALTER TABLE when executed from a stored
       procedure did not always work correctly with tables
       partitioned by RANGE. (Bug #16613004)
* To be continued in part 2....

MySQL Community Server 5.7.9 (GA) has been released (part 2/2) (no replies)

$
0
0
[This is part 2 of the announcement]

Bugs Fixed, cont.

     * Replication: The group replication applier channel does
       not support DATABASE as the slave_parallel_type; when
       group replication is started, this is checked for
       explicitly, and handled correctly. However, it remained
       possible to change this value indirectly at a later point
       in time by increasing the value of slave_parallel_workers
       while the slave SQL thread was stopped, which caused the
       applier to fail with an error. To fix this problem, the
       slave_parallel_type for the group_replication_applier is
       now checked to make sure that it is set to LOGICAL_CLOCK
       whenever the number of slave_parallel_workers is set
       greater then 0, and not merely when group replication is
       first started. (Bug #21798804)

     * Replication: As binlog_error_action=ABORT_SERVER is the
       default in MySQL 5.7.7 and later it is being used for
       more error situations. The behavior has been adjusted to
       generate a core dump to improve troubleshooting
       possibilities. (Bug #21486161, Bug #77738)

     * Replication: At runtime, some Gtid_set objects could be
       instrumented with a performance schema mutex key equal to
       0 (which is invalid), due to its use as the effective
       default value when the mutex key was not actually
       supplied. This allowed these objects to be created
       without a valid key, which led to further issues when
       using them. (Bug #21485997)

     * Replication: When running the server with gtid_mode=ON, a
       DELETE from a MEMORY table following a restart was not
       written to the binary log correctly. (Bug #21045848)

     * Replication: The locking behavior of replication
       administration statements has changed to make SHOW SLAVE
       STATUS more concurrent. This makes the NONBLOCKING clause
       redundant for SHOW SLAVE STATUS and it has been removed.
       (Bug #20593028)

     * Replication: ER_CANT_USE_AUTO_POSITION_WITH_GTID_MODE_OFF
       errors were not reported using the correct format. (Bug
       #20545943)

     * Replication: When the dump thread was killed while
       dumping an inactive binary log, some events in this log
       could be skipped and thus not replicated. (Bug #78337,
       Bug #21816399)
       References: See also Bug #74607, Bug #19975697.

     * Replication: XA transactions could cause an assert
       condition on XA COMMIT; this was happening because the
       internal transaction state was not reset between XA
       PREPARE and XA COMMIT or XA ROLLBACK, due to the fact
       that these operations constitute separate transactions
       under XA. In addition, XA ROLLBACK statements were not
       handled properly in some cases. (Bug #78264, Bug
       #21755890)

     * Replication: The interface between the Group Replication
       plugin and the Performance Schema engine made use of a
       type of memory allocation which was passed to the server,
       and was a potential source of problems when passing
       information between the plugin and performance_schema
       tables. The implementation for this interface has been
       reworked so as to avoid performing this type of memory
       allocation when sharing data. (Bug #78263, Bug #21755699)

     * Replication: The MTS submode set for each channel was
       ignored by the worker threads, which continued to read
       and use the global flag set for all slave channels. This
       could lead to errors when the coordinator was of one type
       and its workers of another. (Bug #77763, Bug #21464737)

     * Replication: Replication slaves could fail for having
       insufficient privileges when they had been granted only
       the REPLICATION SLAVE privilege. (Bug #77732, Bug
       #21455603)

     * Replication: The status variable Slave_open_temp_tables
       keeps track of the number of temporary tables that are
       opened by the replication slave. If multi-source
       replication is enabled, it is the total number of
       temporary tables for all channels. This fix addresses the
       following issues relating to this variable:

          + RESET SLAVE FOR CHANNEL channel forced the value of
            Slave_open_temp_tables to 0; in the event that some
            other replication channel had open temporary tables
            which were later dropped, the value wrapped around
            to a large negative value (1 - 2^32). This also
            caused spurious or missed warnings when issuing a
            STOP SLAVE or CHANGE MASTER TO statement.

          + The internal function that modifies
            Slave_open_temp_tables in such cases relied on two
            incorrect assumptions:

              1. That the variable is updated by only one thread
                 when multi-threaded slaves are not enabled,
                 which is not true in the case of multi-source
                 replication.
                 That non-atomic operations are safe with a
                 single writer and multiple readers, which is
                 not necessarily true for some platforms
                 supported by MySQL.
       (Bug #77585, Bug #21357008)

     * Replication: The warning '@@session.gtid_executed' is
       deprecated and will be removed in a future release. was
       printed even when the session variable gtid_executed was
       not included in the result of a query. In addition, the
       result of SELECT @@session.gtid_executed included a
       duplicate warning. Both issues occurred because the
       warning was printed whenever the value of gtid_executed
       was accessed by a statement, such access occurring as a
       matter of course, whether or not a given variable is
       actually included in the result.
       To fix this issue, we make handling of
       @@session.gtid_executed consistent with how the
       also-deprecated variable @@global.sql_log_bin is treated
       in such cases, by making the following changes:

          + gtid_executed is no longer included in the
            performance_schema.session_variables table.

          + gtid_executed is still included in the
            information_schema.session_variables table, but when
            show_compatibility_56 = ON, the warning is not
            issued when querying the session_variables table, or
            when issuing SHOW VARIABLES or SHOW SESSION
            VARIABLES, even when using a matching LIKE clause
            with either of the SHOW statements.
       The warning is still issued by a statement such as SELECT
       @@session.gtid_executed which accesses the value of the
       variable directly. (Bug #77574, Bug #21354712)
       References: See also Bug #75980, Bug #20575529, Bug
       #76626, Bug #20854952.

     * Replication: When a transaction consisting of a single
       statement with a specified GTID failed in autocommit
       mode, its GTID was not released when rolling it back when
       binary logging was disabled. (Bug #77521, Bug #21338147)

     * Replication: The slave group event parser did not
       properly register an XA_ROLLBACK event as a transaction
       boundary. (Bug #77392, Bug #21273010)
       References: See also Bug #20920851.

     * Replication: mysqlbinlog printed a ROLLBACK statement at
       the end of the binary log file, which when played back
       failed with error 1782 @@SESSION.GTID_NEXT cannot be set
       to ANONYMOUS when @@GLOBAL.GTID_MODE = ON. This occurred
       when the binary log file did not include any data related
       events, or when the relay log file included a
       Format_description_log_event that had been generated on
       the master at server startup.
       The fix for this issue causes a relay log's
       Format_description_log_event to do nothing if it is
       applied by a BINLOG statement, and stops a ROLLBACK from
       setting gtid_next to ANONYMOUS when the state of
       gtid_next has not yet been determined by a subsequent
       event. (Bug #76887, Bug #20980932)

     * Replication: SAVEPOINT and ROLLBACK TO SAVEPOINT within a
       trigger led to an assertion. (Bug #76727, Bug #20901025)

     * Replication: While a SHOW BINLOG EVENTS statement was
       executing, any parallel transaction was blocked. The fix
       ensures that the SHOW BINLOG EVENTS process now only
       acquires a lock for the duration of calculating the
       file's end position, therefore parallel transactions are
       not blocked for long durations. (Bug #76618, Bug
       #20928790)

     * Replication: If a CREATE VIEW statement failed, it was
       being incorrectly written to the binary log even though
       it did not result in the creation of a partial view. The
       fix ensures that such statements are not recorded in the
       binary log. Additionally it was found that when a
       statement which had failed on a master was received by a
       slave with an expected error, if the statement was
       skipped on the slave, for example due to a replication
       filter, the expected error was being compared with the
       actual error that happened on the slave. The fix ensures
       that if a statement with an expected error is received by
       a slave, if the statement has not been filtered, only
       then is it compared with the actual error that happened
       on the slave. (Bug #76493, Bug #20797764)

     * Replication: The action specified for binlog_error_action
       was not always honored correctly after a hardware failure
       occurred during log rotation. (Bug #76379, Bug #20805298)

     * Replication: When using MySQL 5.7.6 and later with
       binlog_format=row and gtid_mode=off, if CREATE ... SELECT
       was killed during execution it could lead to an
       inconsistent state, breaking replication. The cause was
       that in MySQL 5.7.6 the way CREATE ... SELECT was logged
       was changed, so that a commit was introduced between the
       CREATE TABLE and SELECT steps. The fix ensures that
       CREATE ... SELECT does not commit in the middle of the
       transaction when binlog_format=row. (Bug #76320, Bug
       #77098, Bug #20742519, Bug #21114464)

     * Replication: Modifying the master_info_repository or
       relay_log_info_repository inside a transaction and later
       rolling back that transaction left the repository in an
       unusable state. We fix this by preventing any
       modification of these repositories inside a transaction.
       (Bug #74950, Bug #20074353)

     * Replication: Transactions added to gtid_executed using
       SET gtid_purged were not taken into account by
       WAIT_FOR_EXECUTED_GTID_SET() until a subsequent
       transaction was committed by a client or slave thread.
       (Bug #73838, Bug #19579811)

     * Replication: When the running with
       --relay-log-info-repository=TABLE, the
       mysql.slave_relay_log_info table is updated when a
       transaction is committed or when a flush is performed
       explicitly, such during relay log rotation. If a
       transaction that uses any nontransactional tables (such
       as MyISAM tables) is split across multiple relay logs, it
       is partially committed on relay log flush. When
       gtid_mode=ON, this caused the same GTID to be used for
       the remaining portion of the transaction, which raised an
       ER_GTID_NEXT_TYPE_UNDEFINED_GROUP error.
       We fix this issue by postponing in such cases the update
       of the relay log information repository that normally
       occurs on relay log rotation until the commit for the
       transaction in question has been executed.
       This issue did not affect tables using transactional
       storage engines such as InnoDB. (Bug #68525, Bug
       #16418100)

     * For an index-only scan over an indexed generated column,
       the server could do random calculations; the random
       results were not exposed to the user, but Valgrind
       warnings could occur, and the server could exit when
       calculations involved functions which did not expect such
       incorrect data. (Bug #21833760)

     * Although the use of JSON values with GREATEST() or
       LEAST() is not currently supported, the server did not
       handle attempts to do so correctly, leading to an assert
       (Linux) or exit() call (Windows) in debug builds. Now
       when you try to use JSON values with either of these
       functions, the server emits a suitable warning
       (ER_NOT_SUPPORTED_YET). (Bug #21828321)
       References: See also Bug #21383497.

     * For debug builds, a DROP TRIGGER statement could raise an
       assertion if the trigger was defined on a table that
       contained a generated column. (Bug #21824519)

     * A table that included a generated column referencing a
       JSON column in some cases become corrupted, so that a
       subsequent access of the table using a different
       connection caused the server to fail. (Bug #21808680)
       References: See also Bug #21824519, Bug #78408.

     * For tables with VIRTUAL generated columns, an INSERT with
       an empty values list could cause a server exit. (Bug
       #21807818)

     * CMake configuration was adjusted to handle new warnings
       reported by Clang 3.7. (Bug #21803314)

     * Using a materialized view defined over a table containing
       generated columns could cause a server exit. (Bug
       #21797776)

     * For partitioned InnoDB tables containing a virtual
       generated column, reads from the table could return
       random data for the column. (Bug #21779011)

     * The CMake checks for NUMA availability could cause
       compilation problems on platforms without NUMA support.
       (Bug #21774859)

     * The optimizer did not consider nonfunctional expressions
       such as (a AND b) = 1 when looking for indexed generated
       columns to substitute for the (a AND b) expression. Now
       expressions using the AND and OR logical operators are
       considered. (Bug #21770798)

     * For debug builds, when the optimizer tried to clone
       certain types of keys for a range optimization, an
       assertion was raised. (Bug #21761867)

     * For debug builds, the server could exit when the
       optimizer attempted to estimate the cost for processing
       unique values when there were no keys. (Bug #21697002)

     * An INSERT into a view with a subquery could fail if
       executed as a prepared statement. (Bug #21696206)

     * mysql-test-run.pl now has an --valgrind-clients option
       that causes all clients started by .test files to be run
       with valgrind. This option requires valgrind 3.9 or
       later.
       In addition, several client memory leak issues were
       fixed. (Bug #21672747)

     * For queries on InnoDB tables for which the optimizer used
       SPATIAL indexes for full index scans, the result was
       empty because such indexes do not support a full scan.
       The optimizer no longer considers SPATIAL indexes as
       candidates for full index scans. (Bug #21663612)

     * For some inputs, ST_Intersection() could return an
       invalid polygon. (Bug #21658453)

     * Added Microsoft Visual Studio 2015 support. Changes
       include using the native (added in VS 2015) timespec
       library if it exists, renamed lfind/lsearch and
       timezone/tzname to avoid redefinition problems, set
       TMPDIR to "" by default as P_tmpdir no longer exists,
       deprecated std::hash_map in favor of std::unordered_map,
       and added Wix Toolset 3.10 support. (Bug #21657078)

     * Spatial functions could simplify geometry values in
       contexts where the value might be used elsewhere in a
       query, producing incorrect results. (Bug #21652012)

     * If ST_ConvexHull() or ST_SRID() were used in a view
       definition, the resulting definition contained
       ST_Convex_Hull() (misspelled) or SRID() (deprecated).
       (Bug #21651588)

     * JSON_TYPE() returned OPAQUE for some binary values that
       it should have identified as BLOB. (Bug #21649073)

     * The mysql client parser incorrectly interpreted optimizer
       hint comments that contained ;, ", ', or ` characters.
       (Bug #21646026)

     * These Version Tokens issues were resolved:

          + version_tokens_delete() now strips whitespace
            surrounding token names in its argument, similar to
            version_tokens_set() and version_tokens_edit().

          + Passing NULL to version_tokens_delete() caused a
            server exit.

          + Passing an argument with an empty token name to to
            version_tokens_set() or version_tokens_edit() caused
            a server exit.

          + Passing NULL as the timeout value to
            version_tokens_lock_exclusive() or
            version_tokens_lock_shared() caused a server exit.
       (Bug #21645001, Bug #21646106, Bug #21645944, Bug
       #21646017)

     * For debug builds, enabling the PAD_CHAR_TO_FULL_LENGTH
       SQL mode could cause SHOW FUNCTION STATUS to raise an
       assertion. (Bug #21632425)

     * mysqlpump did not exit with a message for some
       combinations of incompatible options. (Bug #21628662)

     * An assertion could be raised if the optimizer tried to
       create a temporary table based on a prepared statement
       parameter. (Bug #21625929)

     * Executing a prepared statement with multiple nested
       subqueries could raise an assertion. (Bug #21624851)

     * For debug builds, failure of subquery optimization could
       cause an assertion to be raised due to improper error
       handling. (Bug #21621313)

     * Some table and index optimizer hints were lost early in
       statement processing, so query rewrite plugins did not
       have access to them. This could cause incorrect matching
       between incoming statements and statement pattern
       templates. (Bug #21619780)

     * Queries containing nested subqueries combining grouping
       and outer references might cause a server exit. (Bug
       #21619634)

     * Passing NULL as the second or third argument to
       ST_AsGeoJSON() could cause the server to stop responding
       to the session or (in debug builds) to raise an
       assertion.
       Giving input to HANDLER READ that could not be converted
       to the correct type could cause the server to stop
       responding to the session or (in debug builds) to raise
       an assertion. (Bug #21616810, Bug #21650603)

     * For debug builds, ST_IsValid(NULL) could raise an
       assertion. (Bug #21616647)

     * For debug builds, an assertion could be raised for
       negative zero values when converting time values to
       decimal. (Bug #21616585)

     * ST_AsWKB() could cause a server exit if given invalid
       data. (Bug #21614368)

     * If an aggregate function was used over a generated column
       that was itself part of a multiple-column index, the
       server could exit. (Bug #21613615)

     * A missing error check during column reference resolution
       could result in an incorrect error message or (in debug
       builds) an assertion being raised. (Bug #21613422)

     * For debug builds, an assertion could be raised in
       Filesort::make_sortorder() for attempts to sort Item_ref
       objects. (Bug #21611270)

     * JSON functions could return incorrect values if a path
       argument was passed as a user-defined variable that
       changed values between result set rows. (Bug #21602361)

     * Columns selected from the right-hand table of a left
       join, which was also a derived table, might produce
       incorrect NULL value information when used in an IN
       subquery. (Bug #21574933)
       References: This bug was introduced by Bug #14358878.

     * For debug builds, an assertion was raised for some
       queries that have a semi-join and use the materialization
       strategy, if a key length or number of key parts was
       zero. (Bug #21566735)

     * Compilation using gcc 4.9 or 5.1 failed on ARM64
       platforms. (Bug #21552524)

     * If a multiple-column UPDATE statement failed to update a
       JSON column that was then referenced in a later update,
       the server could exit. (Bug #21547877)

     * For debug builds, invalid geometry byte strings could
       cause spatial functions to raise an assertion rather than
       return an error to the caller. (Bug #21546656)

     * For debug builds, a too-strict assertion could be raised
       by invalid characters for LOAD DATA. (Bug #21542698)

     * The server could exit when InnoDB tried to update a
       secondary index on a VIRTUAL generated column of type
       BLOB. (Bug #21530366)

     * Binary logging of CREATE USER and statements could log
       the hash of the password hash (rather than the hash
       itself) when log_backward_compatible_user_definitions was
       enabled. Binary logging of ALTER USER statements could
       include attributes not present in the original
       statements.
       In consequence of the fix for these issues,
       log_backward_compatible_user_definitions has been
       replaced by log_builtin_as_identified_by_password. If
       this variable is enabled, binary logging for CREATE USER
       statements involving built-in authentication plugins
       rewrites the statements to include an IDENTIFIED BY
       PASSWORD clause, and SET PASSWORD statements are logged
       as SET PASSWORD statements, rather than being rewritten
       to ALTER USER statements. (Bug #21516392, Bug #20535561)

     * For debug builds, incorrect caching of JSON values could
       cause an assertion to be raised. (Bug #21491442)

     * An empty string (which is not a valid JSON value)
       normally is parsed and returned as a JSON null literal,
       but in some cases could raise an assertion for debug
       builds. (Bug #21487833)

     * For temporary tables created to handle UNION statements
       that selected CHAR or SET columns, the maximum column
       width could be too long for InnoDB to handle. Now such
       columns are created as variable-length columns. (Bug
       #21480999)

     * Certain JSON functions could return incorrect results
       when used in prepared statements which had path
       expression constants. (Bug #21472872)

     * Valgrind errors could occur during partition pruning for
       tables containing generated columns. (Bug #21469535)

     * For builds configured with MAX_INDEXES greater than 64,
       certain queries for which the server used temporary
       tables could cause a server exit. (Bug #21466850)

     * Adding or dropping a VIRTUAL generated column could cause
       a server exit. (Bug #21465626)

     * An attempt to use a previously unused time zone with
       CONVERT_TZ() could produce warnings or errors or (in
       debug builds) raise an assertion if GTIDs were enabled
       but the binary log was not enabled.
       In debug builds, an attempt to use a previously unused
       time zone with CONVERT_TZ() or as the value of the
       time_zone system variable inside a stored program could
       raise an assertion. (Bug #21459999, Bug #21459795)

     * For plugins that use the audit plugin API,
       MYSQL_AUDIT_GLOBAL_VARIABLE_SET events passed to the
       notification function did not include the new variable
       value. (Bug #21457699)

     * Queries on a table containing an indexed generated column
       could fail if the table name contained special
       characters. (Bug #21454155)

     * When a view was the inner table of an outer join, a JSON
       column could produce a non-NULL value when NULL was
       expected. (Bug #21448719)

     * If JSON_CONTAINS_PATH() was called with a one_or_all
       argument of all and a path argument contained a wildcard,
       the function found all matches per path, even though in
       this case one match is sufficient. (Bug #21442775)

     * JSON_SET() and JSON_REPLACE() sometimes produced an
       incorrect result if a path expression identified a
       nonarray value. (Bug #21442624)

     * Suppression of JSON conversion errors using non-strict
       SQL mode or INSERT IGNORE could then cause an assertion
       to be raised if an empty value inserted into a JSON NOT
       NULL column was copied to another JSON column. (Bug
       #21437989)

     * For debug builds, some spatial functions that accept raw
       byte data for spatial arguments (for example, specified
       as hex values) could raise an assertion if such an
       argument contained extra garbage following valid data.
       (Bug #21397107)

     * ALTER TABLE could raise an assertion for a table with an
       indexed virtual column having a column position greater
       than 64. (Bug #21391781)

     * Evaluation of virtual generated columns could fail to
       evaluate all base columns and result in invalid memory
       reads. (Bug #21390605)

     * For deeply nested JSON input, ST_GeomFromGeoJSON() or
       JSON_VALID() could produce stack overflow. (Bug
       #21389101, Bug #21377136)

     * Failure to parse a JSON string that contained a
       floating-point number with a large, negative exponent
       could cause a server exit. (Bug #21384048)

     * For debug builds, an incorrect assertion could be raised
       during subquery execution. (Bug #21383882)

     * For debug builds, a missing error check in
       Item_sum_hybrid::fix_fields() caused an assertion to be
       raised. (Bug #21383714)

     * For debug builds, invoking ST_AsGeoJSON() within GROUP BY
       ... WITH ROLLUP could raise an assertion. (Bug #21383497)

     * JSON_SEARCH() could return incorrect results if an
       invalid escape expression was specified. (Bug #21383284)

     * For debug builds, a NULL first argument to JSON_SET()
       could raise an assertion. (Bug #21381806)

     * For expressions of the form (subquery) IN (subquery),
       where a subquery could return a JSON value, failure to
       handle a row result could cause a server exit.` (Bug
       #21376088)

     * Failure of JSON_APPEND() to handle a legal condition
       could cause a server exit. (Bug #21373874)

     * Calls to ST_Buffer() could hang or raise an assertion.
       (Bug #21372946)

     * The server could exit in unclean fashion if configured to
       listen on a TCP/IP port number already in use by another
       server instance. (Bug #21368299)

     * Certain subqueries as arguments to PROCEDURE ANALYSE()
       could cause a server exit. (Bug #21350175)

     * A query with a right outer join inside a derived table
       might return wrong data. (Bug #21350125)

     * Starting the server with --skip-grant-tables (or with
       options such as --initialize for which
       --skip-grant-tables is implicit) prevented the INSTALL
       PLUGIN and UNINSTALL PLUGIN statements from working. (Bug
       #21335821)

     * mysql_ssl_rsa_setup could create an unwanted .rnd file in
       the data directory. (The file is actually created by
       openssl, which mysql_ssl_ras_setup invokes.
       mysql_ssl_rsa_setup now cleans up the file.) (Bug
       #21335818)

     * For spatial functions, input polygons were automatically
       closed if open. However, the Open Geospatial Consortium
       guidelines require that input polygons already be closed.
       Unclosed polygons are now rejected as invalid rather than
       being closed. (Bug #21327888)

     * When a VIRTUAL generated column was added to a table, it
       was not ensured that data being calculated by the
       generated column expression would not be out of range for
       the column. This could lead to inconsistent data being
       returned and unexpectedly failed statements.
       ALTER TABLE now supports WITHOUT VALIDATION and WITH
       VALIDATION clauses to control whether ALTER TABLE
       validates the data for a VIRTUAL generated column:

          + With WITHOUT VALIDATION (the default if neither
            clause is specified), an in-place operation is
            performed (if possible), data integrity is not
            checked, and the statement finishes more quickly.
            However, later reads from the table might report
            warnings or errors for the column if values are out
            of range.

          + With WITH VALIDATION, ALTER TABLE copies the table.
            If an out-of-range or any other error occurs, the
            statement fails. Because a table copy is performed,
            the statement takes longer.
       WITHOUT VALIDATION and WITH VALIDATION are permitted only
       with ADD COLUMN, CHANGE COLUMN, and MODIFY COLUMN
       operations. (Bug #21317507)

     * Some INFORMATION_SCHEMA queries consumed excessive memory
       due to suboptimal query plans and insufficient
       materialization. (Bug #21299665)

     * With the server configured to send error messages to
       syslog or a log file, messages generated prior to error
       log setup were sent to stderr or stdout. These messages
       are now buffered until error log setup has completed,
       then logged to the proper destination. (Bug #21296553)

     * Statement digests did not include information about
       optimizer hint comments, causing statements with and
       without hints to be aggregated. (Bug #21286261)

     * Executing a prepared statement using a derived table and
       an aggregate function in a subquery in the SELECT list
       could cause a server exit. (Bug #21277074)

     * GRANT created the account for nonexistent accounts even
       if the NO_AUTO_CREATE_USER SQL mode was enabled. (Bug
       #21271571)

     * ST_SymDifference() with multipolygon arguments could
       return incorrect results. (Bug #21263152)

     * A query with a NOT IN subquery that had COUNT(DISTINCT)
       could return incorrect results. (Bug #21243772)

     * When started using a very old data directory (from MySQL
       5.0), the server could exit due to failure to properly
       read the old grant tables. (Bug #21216433)

     * A mulitple-table update involving generated columns that
       updated used a temporary table could cause a server exit
       or raise an assertion. (Bug #21216067)

     * Unit testing now uses Google Mock 1.7 rather than 1.6.
       (Bug #21215389)

     * For queries containing an expression of the form (x IN
       (subquery)) IN (subquery2), a combination of semi-join
       and subquery materialization strategies could cause a
       server exit. (Bug #21205577)

     * If a query contained an outer join such as LEFT JOIN
       (t1,t2,...) and a hint was used to disable join buffering
       on a right-side table but not on the others, a server
       exit occurred. (Bug #21205282)

     * For a cursor type of CURSOR_TYPE_READ_ONLY, retrieving
       the result set for the first execution of a prepared CALL
       staement could be missing the first result set row if the
       data was numeric; raise an assertion for debug builds if
       the data was string; cause loss of the server connection
       when calling mysql_stmt_fetch(). (Bug #21199582)

     * Dangling blob pointers could remain when closing an
       InnoDB table, resulting in a subsequent read of invalid
       memory and a server exit. (Bug #21153489)

     * For some operations where sorting or grouping required a
       temporary table, the table could have zero columns and
       raise an assertion. (Bug #21143151)

     * For debug builds, merging a derived table into an outer
       query block could raise an assertion. (Bug #21139722)

     * Queries containing an expression of the form (x IS NULL)
       IN (subquery) could cause a server exit. (Bug #21139402)

     * During server SSL file autogeneration, ca.pem briefly had
       insecure file permissions. (Bug #21138119)

     * An assertion could be raised due to incorrect error
       handling if a SELECT ... FOR UPDATE subquery resulted in
       deadlock and caused a rollback. (Bug #21096444)

     * Selecting the result of an INSERT() function call to
       which input was passed as a hexidecimal string could
       expose more information than was passed to the function.
       (Bug #21056907)

     * Subqueries having COUNT() with GROUP BY could yield
       incorrect results. (Bug #21055139)

     * The updatable property of a view is set during view
       creation. If the underlying table was dropped and
       re-created as a nonupdatable one, the updatable property
       of the original view was not revised accordingly. This
       could cause a server exit for attempts to insert or
       replace into the view is made. (This problem was specific
       to views with multiple tables/views and did not occur
       with update statements.) (Bug #21039264)

     * The locking functions provided by the version_token
       plugin were renamed: vtoken_get_read_locks(),
       vtoken_get_write_locks(), and vtoken_release_locks() are
       now named version_tokens_lock_shared(),
       version_tokens_lock_exclusive(), and
       version_tokens_unlock(), respectively.
       These functions also failed to have any effect because
       they were implicitly unlocked at the end of the statement
       in which they were set. (Bug #21034322, Bug #21280801)

     * Servers linked against yaSSL and compiled with GCC 4.8.2
       could fail to respond correctly to connection attempts
       until several seconds after startup.
       yaSSL was upgraded to version 2.3.7e. (Bug #21025377)

     * When upgrading an old data directory (MySQL 5.0 or 5.1),
       mysql_upgrade could fail to properly read the mysql.proc
       table. (Bug #20968596)

     * For tables with subpartitions, the server could exit due
       to incorrect error handling during partition pruning if
       the partition could be identified but not the
       subpartition. (Bug #20909518)

     * mysql_upgrade could fail to look for checked tables in
       the wrong database during the repair phase. (Bug
       #20868496)

     * DELETE could check privileges for the wrong database when
       table aliases were used. (Bug #20777016)

     * mysqldump used incorrect syntax for generated column
       definitions. (Bug #20769542)

     * Within a trigger, use of a cursor that accessed OLD or
       NEW values from a row could cause a server exit. (Bug
       #20760261)

     * If a file was specified using an --init-file option,
       mysqld --initialize produced errors for statements in the
       file such as GRANT that affect user accounts. (Bug
       #20546898)

     * Failure during execution of an XA PREPARE statement could
       result in an invalid XA transaction state. Subsequent
       attempts to start another XA transaction led to an
       ER_XAER_OUTSIDE error. (Bug #20538956)

     * The audit log plugin could audit accounts named in the
       audit_log_exclude_accounts system variable. (Bug
       #20408206)

     * If a generated foreign key index was renamed by the same
       ALTER TABLE statement that added a new foreign key with
       the same name, the server could exit. (Bug #20146455)

     * ALTER TABLE operations that dropped and added the same
       FULLTEXT index were not performed as in-place (fast)
       operations that avoid using a temporary copy of the
       table. (Bug #20106837)

     * When the number of days calculated by DATE_FORMAT()
       function was negative, the server could exit. (Bug
       #19985318)

     * ALTER TABLE operations to add or modify columns could
       create geometry columns containing invalid data due to
       missing validation. (Bug #19880316)

     * If range optimization was attempted on an index with a
       string column as its first part and values used for
       comparison were fully truncated, comparisons would be
       incorrect and produce incorrect results. (Bug #19333852)
       References: This bug was introduced by Bug #16407965.

     * The server could hang due to incorrect cleanup of
       aggregate functions used in a query. (Bug #18979515)

     * The server could exit while checking for appropriate
       indexes to use for certain queries that used aggregate
       function in the WHERE clause. (Bug #18706592)

     * On Windows, the validate_password plugin could cause a
       server exit during the dictionary check. (Bug #18636874)

     * Invoking a stored program without qualifying it with the
       database name could lead to stored program compilation
       errors. (Bug #18599181)

     * EXPLAIN of statements containing GROUP_CONCAT() could
       cause a server exit. (Bug #17865675)

     * The value of the FOUND_ROWS() function that returns the
       number of rows found in the previous query could change
       during execution of the next query. Now the value of
       FOUND_ROWS() for the previous query remains constant
       during execution of the next query. (Bug #17846246)

     * Failure to check for error conditions could cause some
       updates or deletes to result in a server exit. (Bug
       #17763238)

     * On Windows, heap corruption in the audit log plugin
       caused server startup failure. (Bug #14700102)

     * If the UPDATE part of INSERT ... ON DUPLICATE KEY UPDATE
       swapped two column values, the server could read
       incorrect data and exit. (Bug #13901905)

     * mysqlpump generated incorrect ALTER TABLE statements for
       adding foreign keys. (Bug #78593, Bug #21907297)

     * Some stress test files in the
       mysql-test/suite/innodb_stress directory had the
       executable file mode set although they were not script
       files. (Bug #78403, Bug #21822413)

     * Subqueries that used a derived table and contained a set
       function referring to a column from that derived table
       might be aggregated in the wrong query block. (Bug
       #78250, Bug #21753180)

     * For some inputs, ST_Union() could return an invalid
       geometry collection. (Bug #78206, Bug #21689998)

     * On non-Windows systems, setting range_alloc_block_size or
       query_alloc_block_size to a value larger than 32 bits at
       startup could cause a server exit. The maximum value for
       these system variables (on all platforms) is now limited
       to 2^32 − 1, rounded down to the nearest multiple of
       1024. (Bug #78188, Bug #21682231)

     * On Windows, if the MySQL server was started as a service,
       logging to the error log file was disabled. (Bug #77977,
       Bug #21574096)
       References: This bug was introduced by Bug #21328041.

     * In the Performance Schema setup_instruments table, it was
       possible to set memory instrument to TIMED='YES',
       although memory operations are never timed. Now such
       attempts are ignored. It was possible to set built-in
       memory instruments (with names of the form
       memory/performance_schema/%) to ENABLED='YES', although
       built-in memory instruments cannot be disabled. Now such
       attempts are ignored. (Bug #77944, Bug #21562212)

     * mysqldump and mysqlpump output included sys schema stored
       programs even when the sys schema was not dumped. (Bug
       #77926, Bug #21549860)

     * RPM installation scripts if configuration files contained
       multiple datadir lines. Now the last datadir line is
       used. (Bug #77878, Bug #21527467)

     * An unnecessary memset() call invoked during Performance
       Schema digest operations has been removed, which improves
       performance by reducing overhead. (Bug #77863, Bug
       #21528683)

     * A potential race condition for the safe mutex
       implementation was corrected. This implementation is
       enabled by default only for debug builds. (Bug #77862,
       Bug #21522888)

     * mysqld --initialize produced warnings about missing SSL
       files, which is unnecessary because initialization does
       not require SSL. (Bug #77825, Bug #21498544)

     * When mysqlpump was invoked with the --defer-table-indexes
       option, it could generate incorrect CREATE TABLE
       statements for tables with a foreign key and a primary
       key but not a secondary index. (Bug #77759, Bug
       #21462732)

     * The server initialization script used for the service
       mysql status command on Linux sometimes incorrectly
       reported that the server was stopped. (Bug #77696, Bug
       #21768876)

     * For statements of the form CREATE TABLE ... SELECT, where
       the table was defined to contain a DECIMAL UNSIGNED,
       calculation of the row size was incorrect, leading to
       incorrect values in the table. (Bug #77636, Bug
       #21383896)

     * A WHERE predicate containing both TRIM(LEADING ..) and
       TRIM(TRAILING ...) could be incorrectly optimized away.
       (Bug #77631, Bug #21447969)

     * For wait events, the Performance Schema uses the CYCLE
       timer by default, but failed to fall back to a different
       timer if CYCLE was unavailable. (Bug #77577, Bug
       #21374104)

     * A disk-full condition during execution of a CREATE
       TABLESPACE statement caused a server exit. (Bug #77556,
       Bug #21347001)

     * A privilege precheck for derived tables could fail and
       cause a server exit. (Bug #77525, Bug #21338077)

     * For some string functions, data was truncated when
       evaluated in subqueries due to incorrect space
       calculations when creating temporary tables to hold
       intermediate results. (Bug #77473, Bug #21317406)

     * A predicate of the form WHERE ROUND(X,Y) > 0, where X is
       a column name and Y is a program local variable, could
       return false when it should return true. (Bug #77391, Bug
       #21279005)

     * Updating VARCHAR and TEXT columns in the same UPDATE
       statement could produce incorrect results. When a VARCHAR
       column was assigned to a TEXT column and the VARCHAR
       column was then set to a different value, the TEXT
       column's result contained the VARCHAR column's new value.
       (Bug #77135, Bug #21143080)

     * A subquery in a HAVING clause that returned more than 1
       row could cause a server exit.
       Additional to the bug fix, EXPLAIN now displays Zero
       limit rather than Impossible WHERE when optimizing a
       query with LIMIT 0. (Bug #76998, Bug #21067109)

     * If an INFORMATION_SCHEMA query that performed a
       table-open operation encountered a corrupt table and
       attempted to repair it, a deadlock could occur, resulting
       in an aborted transaction without an appropriate error
       being reported. Such queries now do not attempt table
       repair. (Bug #76912, Bug #21021848)

     * mysqladmin -u root -p could exit with a segmentation
       fault. (Bug #76538, Bug #20802751)

     * The optimizer sometimes generates an index for a derived
       table (subquery in the FROM clause). If this occurred for
       a statement executed within a stored program, a memory
       leak could occur. (Bug #76349, Bug #20728894)

     * Optimizer estimates for filtering conditions could lead
       to suboptimal execution plans if the expected number of
       rows selected from a table was between 0 and 1. The
       estimate is now made to be at least 1. (Bug #76314, Bug
       #20701585)

     * The optimizer could incorrectly assume an out-of-memory
       condition while optimizing a range scan for the OR
       operator, resulting in overestimation of the number of
       qualifying rows. (Bug #75248, Bug #20229614)

     * The Performance Schema events_statements_history table
       could have an ERRORS column value of 0 when other columns
       indicated there were errors. (Bug #74614, Bug #19929832)

     * View creation from a UNION failed with a duplicate-column
       error if a SELECT statement in the UNION other than the
       first used the same column name multiple times. (Bug
       #74539, Bug #19886430)

     * Timestamp values written to the slow query log could be
       incorrect. (Bug #73974, Bug #19646918)

     * When the mysql client was used to connect to the server
       in batch mode using an account with an expired password,
       the error message was not meaningful. mysql now reports
       "Please use --connect-expired-password option or invoke
       mysql in interactive mode" in this case. (Bug #72696, Bug
       #21464621)

     * For UPDATE statements with ORDER BY, the optimizer could
       perform an unnecessary filesort on a key that was used
       for scanning as well as being updated. (Bug #72518, Bug
       #18698556)

     * For a query with many range conditions, the optimizer
       could estimate that too much memory would be required for
       a range scan and fall back to a less efficient full table
       scan.
       A new range_optimizer_max_mem_size system variable now
       controls the limit on memory consumption for the range
       optimizer. A value of 0 means "no limit." If an execution
       plan considered by the optimizer uses the range access
       method but the optimizer estimates that the amount of
       memory needed for this method would exceed the limit, it
       abandons the plan and considers other plans. (Bug #70247,
       Bug #17413040, Bug #17769777)

     * Empty XML elements having the form <element/> were not
       handled correctly by the LOAD XML statement. (Bug #67542,
       Bug #16171518)

     * As the number of open MyISAM tables increased, lookups to
       check whether a table was open became expensive,
       particularly when the table was not open. Lookup
       performance has been improved, with the overhead
       reduction especially beneficial for selects on large
       number of tables with large values of table_open_cache
       and table_definition_cache. (Bug #49177, Bug #11757169)

MySQL Workbench 6.3.5 GA has been released (no replies)

$
0
0
Dear MySQL users,

The MySQL developer tools team announces 6.3.5 as our GA release for
MySQL Workbench 6.3.

For the full list of changes in this revision, visit
http://dev.mysql.com/doc/relnotes/workbench/en/changes-6-3.html

For discussion, join the MySQL Workbench Forums:
http://forums.mysql.com/index.php?152

Download MySQL Workbench 6.3.5 GA now, for Windows, Mac OS X 10.7+,
Oracle Linux 6 and 7, Fedora 21 and Fedora 22, Ubuntu 14.04 and
Ubuntu 15.04 or sources, from:

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

Enjoy!

Changes in MySQL Workbench 6.3.5 (2015-10-21)

   Known limitations:

     * The new JSON editor is in an early state, and has a
       number of usability issues.

     * The table editor in a MySQL Workbench model does not
       allow the JSON data type. The table editor in the SQL
       Editor is not affected.

     * Model synchronization fails to function for tables with
       JSON columns.

     * The MySQL migration wizard will not function with MySQL
       Server 5.7 as the source database. However, MySQL Server
       5.7 can be the target database.

     * The bundled mysqldump tool fails to create dumps for
       MySQL Server 5.6 and earlier. To work around this
       limitation, set an explicit mysqldump binary in the
       Workbench preferences under Administration -> Data Export
       and Import -> Path to mysqldump Tool. Use one from MySQL
       Server 5.6.

   Functionality Added or Changed

     * A JSON viewer/editor was added in the field editor for
       result sets.

   Bugs Fixed

     * Executing Create EER Model from Database with Place
       imported objects on a diagram enabled would not always
       create the diagram. (Bug #22046248)

     * On OS X 10.11, a newly opened EER diagram was not always
       viewable. A workaround was to either scroll or resize the
       EER diagram window. (Bug #22016760, Bug #78829)

     * MySQL Workbench commercial edition now checks MySQL
       Enterprise Backup compatibility with MySQL 5.7 when using
       the Online Backup and Restore features. MySQL Enterprise
       Backup 4.0 and above is required with MySQL 5.7 and
       above. (Bug #21972677)

     * On Windows, connecting via RDP to Workbench with a model
       would cause MySQL Workbench to crash. (Bug #21951171)

     * On Windows with the firewall enabled, either editing a
       current user or creating a new user from the Users and
       Privileges tab would crash after clicking Apply. (Bug
       #21866290)

     * Under Server Status, the reported Disk Space in Data Dir
       was limited to "1.00 TB", even if more space was
       available. (Bug #21833382)

     * The SQL parser and grammar was updated; some queries
       would emit bogus errors, although they would execute with
       success. For example, queries with syntax such as "ALTER
       TABLE foo MODIFY COLUMN bar VARCHAR(10)" and "ALTER TABLE
       foo MODIFY bar INT NOT NULL". (Bug #21776051, Bug
       #20116935, Bug #77549, Bug #75048)

     * On Windows, creating blocked statements (such as
       BEGIN...END) with auto-complete activated would cause
       MySQL Workbench to emit an unhandled exception (Bug
       #21774642, Bug #77488)

     * On Linux, dragging a routine to a Routine Group did not
       function. (Bug #21770594, Bug #78299)

     * Opening Open Value in Viewer to view the contents of BLOB
       and string types would sometimes crash MySQL Workbench.
       (Bug #21746985, Bug #75516)

     * An SSH timeout option was added, under the Others
       preferences panel. (Bug #21690190)

     * After opening a model file, after choosing Preferences,
       Others, checking (enabling) Allow more than one instance
       of MySQL Workbench to run, clicking OK would crash MySQL
       Workbench. (Bug #21666322)

     * On Windows 10, MySQL Workbench failed with an error
       similar to "The type initializer for
       'HtmlRenderer.Utils.FontsUtils' threw an exception". The
       HtmlRenderer.dll DLL was updated with a fix. (Bug
       #21642135, Bug #75344)

     * Clicking Cancel when using the Table Import wizard would
       emit an error, although the import process continued.
       (Bug #21610117, Bug #78013)

     * On OS X, the Rescan for local MySQL instances operation
       was not discovering local MySQL server connections. (Bug
       #21605220, Bug #77989)

     * On Windows, and when connecting to MySQL Server 5.7.8 or
       higher, the Server Logs did not properly display the
       MySQL error logs, and it instead referred to a file named
       "stderr" that could not be found. This is because the
       error log is now written to the Windows Event Log. (Bug
       #21566823, Bug #77958)

     * Executing Control + W to close all tabs, and then
       executing it again (with all tabs already closed), would
       emit a Null Pointer Exception. (Bug #21543454, Bug
       #77906)

     * When creating new user privileges with access to All
       Schemas (via the % wildcard), the resulting user record
       in mysql.db was created with an asterisk (*) in
       mysql.db.Host and mysql.db.Db instead of using %,
       resulting in inability to connect to the database.
       As a workaround, you could have executed queries such as
       "UPDATE mysql.db SET Host='%', Db='%' WHERE User =
       'MyNewUserName'; FLUSH PRIVILEGES;". (Bug #21529564, Bug
       #77865)

     * Several grammar and spelling fixes were made in the GUI.
       (Bug #21526053)

     * With MySQL not running, the MySQL Enterprise Backup
       Restore option would emit an unhandled exception, and it
       was unable to execute restore operations. (Bug #21496671,
       Bug #21619525)

     * Expanding the schema tree for a database that contained a
       large number of tables, such as 20,000 tables, would
       cause a crash. (Bug #21490728, Bug #77801)

     * The Table Data Import wizard failed to import data into
       an existing table when a DECIMAL column was used. (Bug
       #21461807, Bug #77739)

     * Importing a DBDesigner4 schema would sometimes fail, and
       cause a crash. (Bug #21429693, Bug #77688)

     * After opening a model's EER diagram for the first time,
       opening the Preferences menu would immediately cause
       MySQL Workbench to crash, due to some parts being
       uninitialized. (Bug #21395988, Bug #77662)

     * When copying elements from one diagram to another, the
       style attributes were not copied, although the position
       of the elements were retained. (Bug #21384159, Bug
       #77640)

     * The Performance and Firewall options were missing from
       the Server menu in the commercial edition. (Bug
       #21379250)

     * The Unlock the Audit log procedure in the Audit Inspector
       would sometimes fail due to malformed XML. (Bug
       #21379224)

     * Sometimes Startup / Shutdown management would ignore the
       system's profile and use default commands to start and
       stop the MySQL server. (Bug #21357438)

     * On Linux, with the commercial edition, MySQL Workbench
       did not delete the cron job after the scheduled online
       backup was deleted. (Bug #21312652)

     * On Ubuntu 15.04, MySQL Workbench threw a lot of
       GLib-GObject warnings. (Bug #21292286, Bug #77420)

     * Forward Engineering would sometimes append "COMMENT ''"
       to field and index definitions. (Bug #21278452, Bug
       #21429688, Bug #21390162, Bug #77400, Bug #77685, Bug
       #77644)

     * Making an SSH connection to a server where the
       fingerprint was not in the known_hosts file, clicking
       Test Connection under Remote Management would freeze
       MySQL Workbench. (Bug #21264620)
       References: This bug was introduced by Bug #21122128.

     * The Data Export wizard failed to include date information
       when the JSON export type was used instead of CSV. (Bug
       #21259942, Bug #77364)

     * With the commercial edition, setting up a new Online
       Backup profile would display an "Error Configuring
       Backup" error after entering in details, such as the
       MySQL Enterprise Backup executable path and backup home
       directory, and then clicking Ok. The settings would not
       save due to UTF-8 conversion failures in the
       mysqlwbmeb.py helper file. (Bug #21255978)

     * When importing JSON, the Table Data Import wizard would
       fail at the Configure Import Settings step, and emit
       "Can't analyze file, please try to change encoding
       type...". (Bug #21252834, Bug #77335)

     * After exporting a database with no-create-info checked,
       the import operation would fail to import it. (Bug
       #21250323, Bug #71393)

     * In the Table Data Import wizard, the Field Separator
       dropdown in the Configure Import Settings operation did
       not list the "," (comma) character. (Bug #21240249)

     * From the Table Data Import wizard, switching the line
       endings from the Configure Import Settings screen, and
       then switching it back, would cause the table columns to
       be displayed on a single line. (Bug #21240215)

     * Improved integer and number recognition for data
       import/export with CSV files. (Bug #21240092)

     * In the commercial edition, the Audit Log Inspector logo
       was broken. (Bug #21236152, Bug #77302)

     * With the commercial edition, clicking Firewall after
       stopping the MySQL Server would emit the following
       unhandled exception: "'NoneType' object has no attribute
       'find'". (Bug #21236051, Bug #77304)

     * The validate_password plugin options are no longer
       visible in the Options File editor when the plugin is not
       enabled. (Bug #21187942)

     * With MySQL server not running, and with a MySQL
       Enterprise Backup configuration file missing, attempting
       to open either the Online Backup or Restore tabs would
       throw an unhandled exception. (Bug #21161660)

     * On Fedora, executing Help, Locate Log File / Show Log
       File would fail to function, due to an underlining
       problem with glib 2.44. For additional information, see
       Fedora bug #1175719. (Bug #21113811)

     * In the Audit Inspector, executing Select or Deselect from
       the Show Columns context-menu would fail to function.
       (Bug #20956668)

     * Several buttons and text boxes were not always located in
       the correct location. (Bug #20929972)

     * On OS X, the Shift + Alt + Arrow combination would select
       individual characters instead of whole words. (Bug
       #20797766, Bug #76526)
       References: This bug is a regression of Bug #50085.

     * When executing Start Command Line Client, entering the
       incorrect MySQL password would immediately close the
       Window. Now, an error is displayed before the window is
       closed. (Bug #20737515)

     * The VARBINARY type could not be edited in the results
       view grid. Clicking Apply to execute the change would
       emit an error. (Bug #20735501, Bug #76386)

     * On Windows, SSH connections would fail when connecting to
       a server with pageant running. (Bug #20652700, Bug
       #76168)

     * The MySQL server connection would sometimes timeout
       (error 10060) while processing the result set when
       combined with a large number or rows (e.g., 10,000) and
       an SSH tunneled MySQL connection. (Bug #20639995, Bug
       #74557)

     * The Action Output query tooltip would sometimes display
       information about the wrong query. (Bug #20535654, Bug
       #75877)

     * On Windows, a scheduled incremental MySQL Enterprise
       Backup backup job would always choose the latest backup
       as the base for the backup instead of using the last
       successful backup. This meant that after a failed backup,
       future incremental backups would fail until the next
       successful full backup. (Bug #20533780)

     * The Catalog Tree would truncate table names at around 20
       characters. (Bug #20122059, Bug #74995)

     * The Table Inspector could fail if the schema name
       contained a dash. (Bug #20007660, Bug #74788)

     * The bundled SSH library (paramiko) was not capable of
       supporting the key exchange algorithm (ecdsa) added in
       OpenSSL 6.7. (Bug #20003201, Bug #74658)

     * When a connection to a MySQL server instance through a
       SSH Tunnel, MySQL Workbench failed to recognize the
       server fingerprints stored in the .ssh/known_hosts file,
       and claimed that the server authenticity could not be
       established. Clicking Continue also caused the current
       fingerprint to be removed, after which MySQL Workbench
       froze.
       Also, due to a bug in the underlining paramiko library,
       if a server supported ECDSA and RSA, paramiko would first
       try to use RSA and, as such, not use ECDSA. For
       information about this bug, see
       https://github.com/paramiko/paramiko/issues/243. (Bug
       #19714350, Bug #74160)

     * The import and export process did not always function
       with network folders. (Bug #19443451, Bug #73575)


On behalf of Oracle MySQL Release Team,
Lars Tangvald
Viewing all 1041 articles
Browse latest View live