MySQL 8.4 Release Notes
These release notes were created with the assistance of MySQL HeatWave GenAI.
It was not possible to drop columns, on a table with virtual
columns, using LOCK=NONE.
(Bug #83557, Bug #24962142)
Fixed an issue related to processing certain gzip files. The
MySQL Server has been updated to relax the
.gz header checks, allowing ordinary gzip
files to be processed. Errors were returned similar to the
following:
Invalid audit log file content
(Bug #38980223)
Memory usage during FTS index construction for large tables has been optimized. (Bug #39040226)
Fixed an issue relating to multi-value indexes. (Bug #39040128)
Fixed an issue in the parallel reader. (Bug #39033858)
dict_sdi_create_idx_in_mem function added
columns in a different order than expected, with the
compressed_len and
uncompressed_len fields swapped.
(Bug #38810801)
Under certain circumstances, running CREATE
INDEX with a high value for
--innodb_parallel_read_threads could cause
the disk space to fill up, leading to disk space exhaustion.
(Bug #38370155)
Fixed an issue related to TRUNCATE TABLE.
(Bug #38169053)
Under certain circumstances, when calculating the maximum possible index record size, an assertion failure could occur. (Bug #85060, Bug #25579578)
Fixed an issue relating to optimized prepared DELETE and UPDATE statements. (Bug #39071552)
Fixed an issue relating to Batched Key Access path and partitioning. (Bug #38947039)
Fixed an issue relating to query management. (Bug #38928287)
Fixed an issue relating to memory management. (Bug #38573278)
Queries using semi join with materialization may return incorrect results due to a missing condition.
Our thanks to Jingqi Tian and the team at Alibaba. (Bug #38110792)
Fixed an issue relating to the Optimizer's SQL planner. (Bug #35634700)
When errors and warnings occured during background histogram updates, the conditions in the diagnostic area were not cleared, leading to future background histogram updates emitted the same stale conditions to the error log.
Our thanks to Tony Chen and the team at Amazon for the contribution. (Bug #119922, Bug #38983545)
A previous fix changed range analysis for non-binary string collations, when a string constant in a range predicate was longer than the indexed column, no index range was formed, unless the collation was known to be safe. This resulted in queries, which should have used efficient range plans, using index or table scans.
Our thanks to Yakir Gibraltar for the contribution. (Bug #118009, Bug #37849917)
References: This issue is a regression of: Bug #35169384.
A histogram generated by ANALYZE TABLE UPDATE HISTOGRAM
ON was not be
accepted by col_nameANALYZE TABLE UPDATE HISTOGRAM ON
if
the histogram was built on a col_name USING DATA ...bigint column
with values outside the uint32 range.
Our thanks to Tianfeng Li for the contribution. (Bug #116611, Bug #37269033)
In an explain expanded query, join order hints were not printed with a valid syntax.
Our thanks to Kaiwang Chen for the contribution. (Bug #116084, Bug #37053765)
Conditions on const tables and on previously joined tables were
not consistently taken into account when building ranges in
get_quick_record_count(). This could lead to
suboptimal or incorrect range estimates, especially when range
predicates depended on values from const or earlier-joined
tables.
Our thanks to Xingyu Yang for the contribution. (Bug #112737, Bug #35912840)
Building with PGO (Profile Guided Optimization) is now also
supported for RPM builds on SLE/openSUSE and Fedora, by adding
--define=with_pgo 1 to the rpmbuild command
line.
(Bug #38915967)
For platforms on which OpenSSL libraries are bundled, the linked OpenSSL library for MySQL Server has been updated to version 3.5.5. For more information, see OpenSSL 3.5 Series Release Notes. (Bug #38867109, WL #17209)
It is now possible to enable or disable Telemetry meters from
the command line or configuration file using the
performance-schema-meter parameter, on server
startup.
See Server Meters. (Bug #36698082)
Fixed an issue relating to Information Schema privileges. (Bug #35243416, Bug #37387633)
The SQL parser consumed a large amount of memory when parsing
very large queries with many large IN
clauses.
As of this release, the SQL parser's memory management has been improved. (Bug #105004, Bug #33390851)