The
rapidjsonlibrary included with MySQL has been upgraded to the GitHub snapshot of 16 January 2020. A fix for a compiler error encountered when building from the snapshot on Mac OS X has been added. (Bug #30898701)
Binary packages that include
curlrather than linking to the systemcurllibrary have been upgraded to usecurl7.69.0. (Bug #30866333)The bundled
libeditlibrary was upgraded to version 3.1. (Bug #28939380, Bug #20770875, Bug #22930525, Bug #22332089, Bug #27433491, Bug #27285445, WL #13534)
InnoDB: The
row_upd_clust_rec_by_insertfunction, which marks a clustered index record as deleted and inserts an updated version of the record into the clustered index, passed an incorrectn_extvalue (the total number of external fields) to lower level functions, causing an assertion failure. (Bug #30437378)InnoDB: An operation performed with the
innodb_buffer_pool_evictdebug variable set touncompressedcaused an assertion failure. (Bug #30405531)-
InnoDB: An add column operation caused an assertion failure. The failure was due to a dangling pointer. (Bug #29866408)
References: This issue is a regression of: Bug #28491099.
InnoDB: Updating certain
InnoDBsystem variables that take string values raised invalid read errors during Valgrind testing. (Bug #29717909, Bug #95215)InnoDB: An insert statement on a table with a spatial index raised a record type mismatch assertion due to a tuple corruption. (Bug #29465567)
InnoDB: A function that calculates undo log record size could calculate an incorrect length value in the case of a corrupted undo log record, resulting in a malloc failure. Assertion code was added to detect incorrect calculations. (Bug #29448406, Bug #82734)
Replication: While an SQL statement was in the process of being rewritten for the binary log so that sensitive information did not appear in plain text, if a
SHOW PROCESSLISTstatement was used to inspect the query, the query could become corrupted when it was written to the binary log, causing replication to stop. The process of rewriting the query is now kept private, and the query thread is updated only when rewriting is complete. (Bug #30569003, Bug #97531, Bug #30654405)Replication: When a
GRANTorREVOKEstatement is only partially executed, an incident event is logged in the binary log, which makes the replication slave's applier thread stop so that the slave can be reconciled manually with the master. Previously, if a failedGRANTorREVOKEstatement was the first statement executed in the session, no GTID was applied to the incident event (because the cache manager did not yet exist for the session), causing an error on the replication slave. Also, no incident event was logged in the situation where aGRANTstatement created a user but then failed because the privileges had been specified incorrectly, again causing an error on the replication slave. Both these issues have now been fixed. (Bug #30566518, Bug #30324661)Replication: When a replication slave has a generated column that the master does not have in that table, with a secondary index on the generated column, the generated expression should be evaluated and the value stored by the storage engine in the secondary index. When row-based binary logging is in use, the replication slave assigns default values to any fields that are not in the master's definition of the table. In the case of a generated column, which does not have a default value, the slave was previously assigning a null or a zero value to the column. This value was then stored by the storage engine in the secondary index, causing both the table and the index to become corrupted. To fix this issue, generated columns in a table on a replication slave are now re-evaluated before the values are sent to the storage engine. (Bug #30034874)
Replication: In the event of an unplanned disconnection of a replication slave from the master, the reference to the master's dump thread might not be removed from the list of registered slaves, in which case statements that accessed the list of slaves would fail. The issue has now been fixed. (Bug #29915479)
Replication: With the settings
binlog_format=MIXED,tx_isolation=READ-COMMITTED, andbinlog_row_image=FULL, anINSERT ... SELECTquery involving a transactional storage engine omitted any columns with a null value from the row image written to the binary log. This happened because when processingINSERT ... SELECTstatements, the columns were marked for inserts before the binary logging format was selected. The issue has now been fixed. (Bug #29110804, Bug #93423)Replication: Under certain conditions, replication of conditional comments could fail. (Bug #28388217)
The
-libs-compatRPM package is now built with systemzlibto avoid problems with unrestricted export of symbols inlibmysqlclient.so.18. (Bug #30722389, Bug #98130)The Event Scheduler had a memory leak. (Bug #30628268)
Under certain circumstances, a memcached command could result in reading an uninitialized memory buffer, causing a failure. (Bug #30592346)
Using
ALTER USERto reset an accountMAX_USER_CONNECTIONSvalue did not take effect until all current account connections terminated, if there were any. (Bug #30578217, Bug #97735)A materialized subquery including a condition in which a column value was used as input to a nondeterministic function produced incorrect results. (Bug #30368937)
CONCAT()andCONCAT_WS()could produce incorrect results in rare cases due to incorrect substring handling. (Bug #30350206, Bug #96950)Scheduling of events could be disturbed by removing events. (Bug #30301356, Bug #96849)
Client programs could load authentication plugins from outside the plugin library. (Bug #30191834, Bug #30644258)
The server did not handle correctly a
UNIONin which one of the queries contained a subquery that usedORDER BY. (Bug #29952565)-
A query with a
WHEREclause whose predicate contained a numeric value in scientific notation was not handled correctly.In addition, attempting to insert a particular integer specified as a string caused a server exit when the string-to-integer conversion was not successful. (Bug #29723340, Bug #30441969)
-
Previously, mysqlpump read the
[mysql_dump]and[client]groups from option files. mysqlpump now additionally reads the[mysqlpump]group. The[mysql_dump]group is still accepted but is deprecated. (Bug #24733245, Bug #83144) A multi-table
UPDATEstatement which updated a table joined to a derived table that joined two other tables was not optimized properly as it had been in MySQL 5.6, instead being treated as ifSTRAIGHT_JOINhad been used with the subquery creating the derived table. (Bug #97418, Bug #30488700)