Dear MySQL users,

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

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

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

For information on installing MySQL 5.7.19 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.19 is available in source and binary form for a number of
platforms from our download pages at

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

MySQL Server 5.7.19 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.19 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 link lists the changes in the MySQL 5.7 since the
the release of MySQL 5.7.18.

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

Enjoy!

Changes in MySQL 5.7.19 (2017-07-17, General Availability)

   Account Management Notes

     * During data directory initialization or upgrade, MySQL
       now creates a 'mysql.session'@'localhost' reserved
       account. This account is used internally by plugins to
       access the server. It is locked so that it cannot be used
       for client conections. (Bug #25642343)

   Compilation Notes

     * Solaris: On Solaris, MySQL binary distributions are now
       linked against libatomic.so, so they are no longer
       dependent on libstatomic.so. (Bug #25909965)

   Packaging Notes

     * mysqladmin was added to Docker/Minimal packages because
       it is needed by InnoDB Cluster. (Bug #25998285)

     * Debian/Ubuntu packages now support multiple MySQL
       instances with systemd. See Managing MySQL Server with
       systemd
       (http://dev.mysql.com/doc/refman/5.7/en/using-systemd.html).
       (Bug #24559588, Bug #82785)

   Security Notes

     * Security Fix: The linked OpenSSL library for the MySQL
       Commercial Server has been updated to version 1.0.2l.
       Issues fixed in the new OpenSSL version are described at
       http://www.openssl.org/news/vulnerabilities.html.
       This change does not affect the Oracle-produced MySQL
       Community build of MySQL Server, which uses the yaSSL
       library instead. (Bug #26160962)

     * MySQL Enterprise Edition now supports LDAP pluggable
       authentication of MySQL users. This enables MySQL Server
       to use LDAP (Lightweight Directory Access Protocol) to
       authenticate MySQL users by accessing directory services
       such as X.500. For more information, see Pluggable
       Authentication

(http://dev.mysql.com/doc/refman/5.7/en/pluggable-authentication.html).

     * MySQL Enterprise Edition now includes a keyring_aws
       plugin that communicates with the Amazon Web Services Key
       Management Service as a back end for key generation and
       uses a local file for key storage. For more information,
       see The MySQL Keyring
       (http://dev.mysql.com/doc/refman/5.7/en/keyring.html).

   Spatial Data Support

     * These functions previously accepted either WKB strings or
       geometry arguments. Use of geometry arguments is now
       deprecated and generates a warning. Geometry arguments
       will not be accepted in MySQL 8.0.

          + ST_GeomCollFromWKB(), ST_GeometryCollectionFromWKB()

          + ST_GeomFromWKB(), ST_GeometryFromWKB()

          + ST_LineFromWKB(), ST_LinestringFromWKB()

          + ST_MLineFromWKB(), ST_MultiLinestringFromWKB()

          + ST_MPointFromWKB(), ST_MultiPointFromWKB()

          + ST_MPolyFromWKB(), ST_MultiPolygonFromWKB()

          + ST_PointFromWKB()

          + ST_PolyFromWKB(), ST_PolygonFromWKB()
       For information about migrating queries that refer to
       those functions away from using geometry arguments to
       using WKB arguments, see Functions That Create Geometry
       Values from WKB Values
       (http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html).

   Test Suite Notes

     * mysql-test-run.pl now has a --test-progress option to
       cause display of the percentage of tests remaining. (Bug
       #25601131, Bug #20755059, Bug #76455)

     * These changes were made to the --xml-report option for
       mysql-test-run.pl:

          + A <failure> tag identifies any test failing on a
            retry attempt.

          + Separate statistics and fields are included for
            skipped and disabled tests.

          + The XML report is created in the build directory if
            no absolute path is given for out-of-source builds.

          + For combination runs, a field named variation is
            included in the <testcase> tag.

          + Results for all tests belonging to a suite are
            aggregated within a single <testsuite> tag.

          + Information regarding failures is reported with a
            brief reason in an attribute named message, along
            with other details within the tag.
       (Bug #25349924)

     * mysql-test-run.pl now supports a --report-unstable-tests
       option that has these effects:

          + Reports any test that has passed using at least one
            retry attempt in a separate category called
            "Unstable tests" in the summary.

          + If all failures are due to unstable tests,
            mysql-test-run.pl produces a warning but exits
            successfully.

          + Adds a new XML tag to report unstable tests, if the
            --xml-report option is also specified.
       (Bug #24473420, Bug #25984429)

     * mysqltest now supports a replace_numeric_round command
       that takes an argument value from 0 to 16 indicating the
       number of decimals to round numeric values to. This can
       be used to help prevent result content mismatch errors
       for tests in which slightly different results are
       obtained across platforms due to precision differences.
       Thanks to Daniel Black for the patch. (Bug #23280117, Bug
       #81399)

   Platform-Specific Notes

     * Linux: The generic Linux build for MySQL 5.7 is now built
       on Oracle Linux 6 using glibc 2.12. Systems that use the
       build need to have glibc 2.12 or later installed on them.
       (Bug #26005558)

     * Linux: The generic Linux build for MySQL 5.7 now supports
       Non-Uniform Memory Access (NUMA) on its host system.
       Systems that use the build need to have libnuma installed
       on them. See Installing MySQL on Unix/Linux Using Generic
       Binaries
       (http://dev.mysql.com/doc/refman/5.7/en/binary-installation.html)
       for more details. (Bug #26005558)

   Functionality Added or Changed

     * InnoDB: The innodb_undo_logs configuration option is
       deprecated and will be removed in a future release. The
       innodb_rollback_segments configuration option performs
       the same function and should be used instead.
       The Innodb_available_undo_logs status variable is
       deprecated and will be removed in a future release.

     * Replication: The group_replication_transaction_size_limit
       variable was added to enable you to protect a group
       against large transactions causing a failure. (Bug
       #84785, Bug #25510757)

     * Replication: Group Replication now supports SQL
       transaction SAVEPOINT.

     * RPM .spec files now include support for running unit
       tests. (Bug #25814143, Bug #85743)

     * For Windows, MSI installer packages now include a check
       for the required Visual Studio redistributable package,
       and produce a message asking the user to install it if it
       is missing. (Bug #25658832)

     * The mysql client now supports a --binary-as-hex option
       that causes display of binary data using hexadecimal
       notation (0xvalue). Thanks to Daniƫl van Eeden for the
       patch. (Bug #25340722, Bug #84391)

     * The audit_log filter parser now produces errors for
       unexpected JSON elements in filter definitions. (Bug
       #24360663)

     * The libmysqld embedded server library is deprecated and
       will be removed in MySQL 8.0. These are also deprecated
       and will be removed:

          + The mysql_config --libmysqld-libs, --embedded-libs,
            and --embedded options

          + The CMake WITH_EMBEDDED_SERVER,
            WITH_EMBEDDED_SHARED_LIBRARY, and
            INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR options

          + The (undocumented) mysql --server-arg option

          + The mysqltest --embedded-server, --server-arg, and
            --server-file options

          + The mysqltest_embedded and
            mysql_client_test_embedded test programs

   Bugs Fixed

     * Incompatible Change: Plugins such as Group Replication
       and X Plugin now use the mysql.session account added in
       this version. If you are upgrading from a previous
       version which did not include the mysql.session account
       you must run mysql_upgrade to ensure the account is
       created. If mysql_upgrade is not run, plugins fail to
       start with the error message There was an error when
       trying to access the server with user:
       mysql.session@localhost. Make sure the user is present in
       the server and that mysql_upgrade was ran after a server
       update. (Bug #26042764)
       References: See also: Bug #24311527, Bug #25642343.

     * InnoDB: An ALTER TABLE operation that rebuilt an
       encrypted table did not set the encryption attribute
       properly. (Bug #26243264)

     * InnoDB: The length of a virtual column field in a virtual
       index record was less than the expected template column
       length. (Bug #25793677)

     * InnoDB: The server allocated memory unnecessarily for an
       operation that rebuilt the table. (Bug #25573565, Bug
       #85043)

     * InnoDB: With foreign_key_checks disabled, InnoDB
       incorrectly printed messages to the error log when
       operations were performed on a table that referenced a
       non-existent foreign key. (Bug #25365223)

     * InnoDB: During a TRUNCATE TABLE operation on a
       file-per-table tablespace, a dictionary operation lock
       was released before eviction of dirty pages from the
       buffer pool, causing a latch order violation. (Bug
       #25357789)

     * InnoDB: When using an index merge optimizer switch, a
       SELECT COUNT(*) operation sometimes returned 0.
       Partitioning code incorrectly performed a memcpy instead
       of a column copy of columns read by the index, causing
       the wrong records to be copied. (Bug #25332330, Bug
       #81031)

     * InnoDB: After a RENAME TABLE operation that moved a table
       to a different schema, InnoDB returned an error on
       restart indicating that it could not locate the
       tablespace data file. InnoDB failed to update
       INNODB_SYS_DATAFILES data dictionary table during the
       RENAME TABLE operation. (Bug #25189192, Bug #84038)

     * InnoDB: Loading InnoDB tables required more memory in
       MySQL 5.7 due primarily to the addition of in-memory
       structure members introduced with temporary table
       optimizations. The in-memory structure members, only used
       for temporary tables, are now only allocated as needed.
       (Bug #25080442)

     * InnoDB: During an ALTER TABLE operation that rebuilt a
       table containing a virtual column, InnoDB failed to apply
       a concurrent insert log record. (Bug #24961167)

     * InnoDB: InnoDB failed to apply the concurrent delete log
       for an in-place ALTER TABLE operation due to a virtual
       column validation issue. (Bug #24960450)

     * InnoDB: Changes to the InnoDB recovery process in MySQL
       5.7 could require up to three scans of the redo log
       during recovery. To reduce the number of scans, the first
       and second scans were merged. With this change, there is
       only one scan unless the redo log record hash table that
       is populated by the scan reaches its memory threshold. In
       this case, a second scan is initiated that performs a
       simultaneous scan and apply. (Bug #22963951, Bug #80788)

     * Partitioning: When a query performed a reverse-ordered
       range scan (to satisfy ORDER BY ... DESC) using index
       condition pushdown on a partitioned InnoDB table, it
       could take an unreasonably long time to finish. This was
       due to the fact that the condition pushdown check failed
       to get the bounds of the range, so that the scan
       continued to read index tuples until it reached the first
       value in the index. (Bug #83470, Bug #24929748)
       References: See also: Bug #84107.

     * Replication: In the case of delayed initialization of the
       Group Replication plugin, deployed in single-primary
       mode, secondaries were able to get writes through an
       asynchronous replication channel, which is not allowed in
       normal initialization of the Group Replication plugin.
       (Bug #26314756)

     * Replication: With GTIDs generated for incident log
       events, MySQL error code 1590 (ER_SLAVE_INCIDENT) could
       not be skipped using the --slave-skip-errors=1590 startup
       option on a replication slave. (Bug #26266758)

     * Replication: A USE statement that followed a SET
       GTID_NEXT statement sometimes had no effect. (Bug
       #26128931)

     * Replication: When binlog_checksum=NONE was set on a MySQL
       server after startup, and then Group Replication was
       started, if an error occurred, the server remained in
       RECOVERING state and could not be shut down. (Bug
       #25793366)

     * Replication: In a Group Replication setup where circular
       asynchronous replication was implemented between members
       of different replication groups, view change log events
       were repeatedly replicated between the groups with new
       generated GTIDs each time. The fix ensures that view
       change log events are ignored outside the named
       replication group where they occur, and never generate
       new GTIDs. (Bug #25674926)
       References: See also: Bug #26049695, Bug #25928854, Bug
       #25721175.

     * Replication: When first starting the MySQL server
       following an installation from RPM, passwword validation
       plugin is activated by default (true only for RPM
       installations). If binary logging was already enabled at
       this time, the activation was logged, even though plugin
       activations should not be recorded in the binary log.
       (Bug #25672750)

     * Replication: In a setup where single-primary Group
       Replication was combined with asynchronous replication,
       for example with S1 and S2 forming a group and with S2
       and S3 functioning as master and slave, secondaries such
       as S2 were accepting transactions and these could then
       enter the group. The fix prevents secondaries creating an
       asynchronous replication channel when belonging to a
       single-primary group, and Group Replication cannot be
       started when asynchronous replication is running. (Bug
       #25574200)
       References: See also: Bug #26078602.

     * Replication: In the event that a member failed to join a
       group the member was not stopping and continued to accept
       transactions. To avoid this set your members to have
       super_read_only=1 in the my.cfg file. Group Replication
       now checks for this setting upon successful start up and
       sets super_read_only=0. This ensures that members which
       do not successfully join a group cannot accept
       transactions. (Bug #25474736, Bug #84728)

     * Replication: When an existing GTID_NEXT transaction was
       assigned a conflicting GTID by the server, Group
       Replication generated an assert upon detecting two
       transactions with same GTID. This was because Group
       Replication generates the GTID after conflict detection,
       which is later than with master/slave replication. The
       fix relaxes some conditions to only be called when commit
       is done and a message has been added to alert you when a
       GTID has already been used. (Bug #25232042)

     * Replication: If the binary log on a master server was
       rotated and a full disk condition occurred on the
       partition where the binary log file was being stored, the
       server could stop unexpectedly. The fix adds a check for
       the existence of the binary log when the dump thread
       switches to next binary log file. If the binary log is
       disabled, all binary logs up to the current active log
       are transmitted to slave and an error is returned to the
       receiver thread. (Bug #25076007)

     * Replication: Interleaved XA transactions could sometimes
       deadlock the slave applier when the transaction isolation
       level was set to REPEATABLE-READ. (Bug #25040331)

     * Replication: If a relay log index file named relay log
       files that did not exist, RESET SLAVE ALL sometimes did
       not fully clean up properly. (Bug #24901077)

     * Replication: The slave_skip_errors system variable did
       not permit error numbers larger than 3000. Thanks to
       Tsubasa Tanaka for the patch. (Bug #24748639, Bug #83184)

     * Replication: mysqlbinlog, if invoked with the --raw
       option, does not flush the output file until the process
       terminates. But if also invoked with the --stop-never
       option, the process never terminates, thus nothing is
       ever written to the output file. Now the output is
       flushed after each event. (Bug #24609402)

     * Replication: A memory leak in mysqlbinlog was fixed. The
       leak happened when processing fake rotate events, or when
       using --raw and the destination log file could not be
       created. The leak only occurred when processing events
       from a remote server. Thanks to Laurynas Biveinis for his
       contribution to fixing this bug. (Bug #24323288, Bug
       #82283)

     * Replication: A slave server could lose events not yet
       applied when MASTER_AUTO_POSITION=0, both replication
       threads were stopped, and the applier delay was changed
       using CHANGE MASTER TO MASTER_DELAY=N. (Bug #23203678,
       Bug #81232)

     * Replication: Transmission of large GCS messages could
       take so long the sender appeared to have died. (Bug
       #22671846)

     * Replication: Multi-threaded slaves could not be
       configured with small queue sizes using
       slave_pending_jobs_size_max if they ever needed to
       process transactions larger than that size. Any packet
       larger than slave_pending_jobs_size_max was rejected with
       the error ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX, even
       if the packet was smaller than the limit set by
       slave_max_allowed_packet.
       With this fix, slave_pending_jobs_size_max becomes a soft
       limit rather than a hard limit. If the size of a packet
       exceeds slave_pending_jobs_size_max but is less than
       slave_max_allowed_packet, the transaction is held until
       all the slave workers have empty queues, and then
       processed. All subsequent transactions are held until the
       large transaction has been completed. The queue size for
       slave workers can therefore be limited while still
       allowing occasional larger transactions. (Bug #21280753,
       Bug #77406)

     * Replication: An incident event that broke replication was
       not written to the binary log with a GTID, so that it was
       not possible to skip the event using SET gtid_next=value.
       Instead, it was necessary to set the relay log file and
       relay log positions directly; this meant that, when
       autopositioning was enabled, it was necessary first to
       disable it, then to set the relay log file and position,
       and finally to re-enable autopositioning.
       Now in such cases MySQL writes the incident event into
       the statement cache, so that a GTID is generated and
       written for it prior to flushing, and that the slave
       applier works with the change. Then users can skip the
       event using the SQL statement SET gtid_next=value,
       followed by BEGIN and COMMIT. (Bug #19594845)

     * Replication: In certain cases, the master could write to
       the binary log a last_committed value which was smaller
       than it should have been. This could cause the slave to
       execute in parallel transactions which should not have
       been, leading to inconsistencies or other errors. (Bug
       #84471, Bug #25379659)

     * Replication: When using
       group_replication_ip_whitelist=AUTOMATIC, IPs in the
       private network are permitted automatically, but some
       class C IP addresses were not being permitted correctly.
       (Bug #84329, Bug #25503458)

     * Replication: The replication applier thread returns Error
       3002 ER_INCONSISTENT_ERROR when there is a difference
       between an expected error number and the actual error
       number. It is now possible to ignore this error by using
       3002 with slave_skip_errors. (Bug #83186, Bug #24753281)

     * Replication: MySQL lost its GTID position following a
       restart when a dump from mysqldump had been used to load
       data.
       To keep this problem from occurring, the
       mysql.gtid_executed table is now excluded automatically
       from dumps made by mysqldump. (Bug #82848, Bug #24590891)

     * Replication: Corruption of relay logs for one channel in
       multi-source replication caused good channels not to be
       initalized during a server restart. In addition, when run
       with --skip-slave-start=false, the server also failed to
       start slave threads for those channels which were in good
       condition, despite the fact that it should have started
       the slave threads for all good channels.
       Now, regardless of any errors on other channels, the
       server attempts to create and initialize channels that
       are in good condition, and starts slave threads for the
       good channels if --skip-slave-start is disabled. As part
       of this fix, START SLAVE and STOP SLAVE, which are
       intended to operate on all channels, are also modified
       such that they continue executing on all good channels
       even if they find bad channels among them. (Bug #82209,
       Bug #24285104)

     * Replication: The SQL thread was unable to GTID skip a
       partial transaction. (Bug #81119, Bug #25800025)

     * Debian client packages were missing information about
       conflicts with akonadi-backend-mysql packages. (Bug
       #26002288)

     * mysqldump could write database names in USE statements
       incorrectly. (Bug #25998635)

     * If the mysql_stmt_close() C API function was called, it
       freed memory that later could be accessed if
       mysql_stmt_error(), mysql_stmt_errno(), or
       mysql_stmt_sqlstate() was called. To obtain error
       information after a call to mysql_stmt_close(), call
       mysql_error(), mysql_errno(), or mysql_sqlstate()
       instead. (Bug #25988681)

     * Queries could be cached incorrectly, leading to incorrect
       query results, under these circumstances: InnoDB table;
       rows are being inserted but have not yet been committed;
       a query uses the table as a base table in a derived
       table; the optimizer chooses to materialize the derived
       table. (Bug #25943038, Bug #86047)

     * Man pages for a few utilities were missing from
       Debian/Ubuntu packages. (Bug #25811814)

     * The field-t unit test failed to run with AddressSanitizer
       enabled. Thanks to Laurynas Biveinis for the patch. (Bug
       #25803823, Bug #85678)

     * Debian client packages were missing information about
       conflicts with native packages. (Bug #25799475)

     * The Perl path in #! lines at the beginning of Perl
       scripts has been adjusted to /usr/local/bin/perl for
       FreeBSD 11. (Bug #25719975)

     * For debug builds, the assertion added for Bug#59686 was
       too strict and could be raised when it should not have
       been. (Bug #25685958)
       References: See also: Bug #59686.

     * A server exit occurred for downgrades to MySQL 5.7 from a
       MySQL 8.0 installation for which the optimizer cost
       tables contained generated columns. (Bug #25650399)

     * The server exited abnormally attempting to access invalid
       memory. (Bug #25501659)

     * With mysqld secured by TCP wrappers and the hosts.allow
       and hosts.deny files configured to restrict access from
       an IP address, connection attempts from that address
       resulted in too many messages to the error log. (Bug
       #25476479, Bug #84708)

     * mysqlpump no longer includes the slave_master_info and
       slave_relay_log_info tables in dumps of the mysql system
       database. Restoring a dump file containing these tables
       caused problems by changing the replication state
       improperly. (Bug #25469190)

     * Changes made by calling mysql_options() to set
       MYSQL_OPT_SSL_MODE could be affected by later
       mysql_options() calls. Now setting MYSQL_OPT_SSL_MODE is
       unaffected by later mysql_options() calls. (Bug
       #25452210)

     * A race condition could occur for CREATE TABLE statements
       with DATA DIRECTORY or INDEX DIRECTORY clauses. (Bug
       #25451091)

     * MySQL compilation in different directories produced
       different builds to leakage of absolute paths into debug
       information and __FILE__. (Bug #25436469, Bug #84608)

     * On SELinux in Enforcing mode, the keyring_okv plugin
       failed to connect to the Oracle Key Vault server. (Bug
       #25420001)

     * ALTER TABLE ... MODIFY on a DATETIME NOT NULL column
       using an AFTER clause resulted in an
       ER_INVALID_USE_OF_NULL error. (Bug #25385334)

     * The range optimizer could create an incorrect query tree,
       resulting in a server exit. (Bug #25369742, Bug
       #25586531)

     * mysqld_failed to start the server if the --datadir option
       was specified with a relative path name. (Bug #25364806)

     * XA PREPARE, XA ROLLBACK, and XA COMMIT for a transaction
       from a disconnected session did not take a global commit
       lock and modified the binary log and InnoDB redo log even
       when FLUSH TABLES WITH READ LOCK was in effect. This
       could lead to inconsistent backups when backup tools
       assumed that the server was in a read-only state. (Bug
       #25364178, Bug #84442)

     * GROUP_CONCAT(DISTINCT) returned nonunique values if the
       data size was greater than the value of the
       tmp_table_size system variable. (Bug #25331425, Bug
       #84320)

     * The fix for Bug #78777 had different effects depending on
       whether the Performance Schema is enabled. (Bug
       #25309017, Bug #84305)
       References: This issue is a regression of: Bug #78777.

     * An aggregate function in some nested queries could cause
       a server exit. (Bug #25303711)

     * Virtual generated column expressions that used any of the
       BIN_TO_UUID(), CONV(), or HEX() functions could cause
       problems if the connection character set was changed. In
       this context, the table character set is now used for
       these functions regardless of connection character set.
       (Bug #25287633)

     * The Rewriter plugin did not perform locking properly if
       the read_only system variable was enabled. (Bug
       #25264253)

     * With read_only enabled, creation of non-TEMPORARY tables
       by non-SUPER users was permitted under certain
       conditions. (Bug #25250768)

     * For a table having a TIMESTAMP or DATETIME column having
       a default of CURRENT_TIMESTAMP, the column could be
       initialized to 0000-00-00 00:00:00' if the table had a
       BEFORE INSERT trigger. (Bug #25209512, Bug #84077)

     * Certain stored functions, if used in a query WHERE
       clause, could be handled using Index Condition Pushdown
       (which should not happen), resulting in a server exit.
       (Bug #25196653, Bug #25174454)

     * Certain queries against InnoDB tables that used a primary
       key and a subquery could return incorrect results if the
       index_merge_intersection flag of the optimizer_switch
       system variable was enabled. (Bug #24829050, Bug #79675)

     * Initialization of the keyring_okv plugin failed if the
       STANDBY_SERVER setting was missing from the okvclient.ora
       configuration file, effectively making this a mandatory
       setting. STANDBY_SERVER is now optional. (Bug #24816271)

     * On x86 machines, the uint3korr() macro read 4 bytes of
       data instead of the intended 3 bytes. (Bug #24807826, Bug
       #83264)

     * An assertion was raised during a fetch operation by the
       memcached plugin. (Bug #24605783)

     * Queries that contained UNION in a subquery and GROUP BY
       could return incorrect results. (Bug #24595639)

     * The server could dereference a null pointer when a
       deterministic function returning LONGTEXT was used in a
       subquery. (Bug #24595581)

     * Incorrect behavior could occur for INSERT statements
       executed in stored-program or prepared-statement context,
       if the VALUES part of an ON DUPLICATE KEY UPDATE clause
       referred to a BLOB value in the INSERT column list. (Bug
       #24538207, Bug #25361251, Bug #25530880, Bug #25684790)

     * systemd support scripts in Debian packages contained
       hardcoded references to the data directory, making it
       difficult to change the data directory using --datadir.
       (Bug #24398446, Bug #82417)

     * MySQL failed to compile under macOS 10.10.5 using Clang.
       (Bug #24352163, Bug #82340)

     * If a REPLACE statement tried to update a row in a table
       containing a virtual generated column of type BLOB,
       subsequent DML statements could behave incorrectly. (Bug
       #23573575)

     * Compiler flags were adjusted to eliminate numerous
       warnings that occurred when compiling the keyring_file
       plugin using Clang. (Bug #22834591, Bug #80524)

     * If enabling the Event Scheduler caused an event defined
       as ON COMPLETION NOT PRESERVE to be dropped because its
       execution time had passed, the drop event was not written
       to the binary log, causing slaves not to replicate it and
       replication failure if an event of the same name was
       created later. (Bug #22150112)

     * LOAD XML INFILE performance became noticeably slower when
       the XML file being read contained a great many spaces,
       such as those introduced by indenting or pretty-printing.
       Now all leading whitespace is trimmed from each such
       value before reading it into memory. (Bug #16212207)

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql

Reply via email to