MySQL Community Server 8.0.18 has been released, part 2/2
Posted by: Bjørn Munch
Date: October 14, 2019 07:39AM
Date: October 14, 2019 07:39AM
[This is part 2 of the announcement]
Edited 1 time(s). Last edit at 10/14/2019 07:46AM by Bjørn Munch.
Bugs Fixed, continued
* Replication: If the
group_replication_set_communication_protocol() UDF was
used to set a communication protocol version that some
group members did not support, the protocol change
procedure was not stopped correctly. The issue has now
been fixed. (Bug #30209596)
* Replication: If the TCP connections used by Group
Replication time out due to a lengthy network error, the
group communication engine (XCom) cannot re-establish its
local connection, requiring a restart of Group
Replication on the instance (see Bug #25656508).
Previously, attempting to stop Group Replication in this
situation caused XCom to hang, preventing the restart.
This issue has now been fixed so that XCom terminates
correctly and Group Replication can be restarted to
re-establish the local connection. (Bug #30132500)
References: See also: Bug #22158368.
* Replication: When the ANSI_QUOTES SQL mode was enabled,
Group Replication returned an error when checking for the
presence of MySQL Server's clone plugin to perform remote
cloning operations for distributed recovery. The issue
has now been fixed. (Bug #30099796)
* Replication: The value of the default_table_encryption
system variable must be the same on all members of a
replication group and cannot be changed while Group
Replication is running. Changing the value of the system
variable was disallowed by Group Replication if a SET
GLOBAL statement was used, but was incorrectly allowed if
a SET PERSIST statement was used. (Bug #30031228)
* Replication: If the group_replication_local_address
setting for a member was changed and the member then
rejoined the group, copies of the old local address were
retained in some locations by the Group Communication
System (GCS). The Group Replication local address is now
fetched rather than cached whenever required. (Bug
#29910699)
* Replication: When Group Replication was using a remote
cloning operation to provide transactions to a joining
member, if the joining member was stopped during the
operation, it did not shut down cleanly. (Bug #29902389)
* Replication: The session value of the
default_table_encryption system variable is replicated,
so that replication slaves preserve the correct
encryption setting for databases and tablespaces. For a
replication channel where the
table_encryption_privilege_check system variable is set
to ON, the TABLE_ENCRYPTION_ADMIN privilege is required
to apply events where the session value of
default_table_encryption is changed. If this privilege
had not been granted on the replication slave,
replication stopped with an error in some situations
where the required encryption setting for the event was
actually the same as the slave's own default encryption
setting, so the action ought to have worked. It was also
possible for a statement with a different encryption
setting from the slave to succeed when it ought not to
have worked. The behaviors have now been corrected so
that a replication slave without the
TABLE_ENCRYPTION_ADMIN privilege is permitted to apply
events that match its own default encryption setting, and
is not requested to set the encryption setting
unnecessarily, but is still subject to appropriate
privilege checks if the event requires a different
encryption setting. (Bug #29818605)
* Replication: The timeout in seconds specified by the
group_replication_unreachable_majority_timeout system
variable was only checked every two seconds. The timeout
is now checked every second so that odd-numbered values
are respected. (Bug #29762005)
* Replication: The input channel introduced for Group
Replication in MySQL 8.0.14 uses a shared memory queue
instead of a TCP socket for communication between the
Group Communication System (GCS) component of Group
Replication and the local group communication engine
(XCom) instance. This input channel could not be
established on SELinux installations, which meant members
upgraded to MySQL 8.0.14 or higher were unable to rejoin
the group. When Group Replication was started, the XCom
instance temporarily opened a port from the ephemeral
port range to allow GCS to establish a connection for the
input channel, but on SELinux the mysqld process did not
have permission to connect to this port. A workaround was
to amend the SELinux policy to allow MySQL to connect to
any port, but this reduced security. From MySQL 8.0.18,
the issue has been fixed. XCom and GCS no longer use an
ephemeral port to establish a connection for the input
channel, but instead use the Group Replication
communication port configured by the
group_replication_local_address system variable, which
must be permitted by SELinux (see Frequently Asked
Questions
(https://dev.mysql.com/doc/refman/8.0/en/group-replication-frequently-asked-questions.html)).
(Bug #29742219, Bug#30087757)
* Replication: A deadlock involving three threads could
occur if a START SLAVE statement was issued to start the
SQL thread on a slave while the SQL thread was still in
the process of being stopped, and a request for the slave
status was made at the same time. The issue has now been
fixed by releasing a lock earlier while the SQL thread is
being stopped. (Bug #29697588, Bug #95115)
* Replication: Group Replication rejected server
certificates whose Common Name value used a wildcard. The
correct comparison method is now used. (Bug #29683275,
Bug #95068)
* Replication: It was possible for Group Replication's
Group Communication System (GCS) to deliver messages from
a member after STOP GROUP_REPLICATION had been issued and
the member had gone to OFFLINE status in the group,
resulting in an error. GCS now verifies that it belongs
to a group before delivering a message. (Bug #29620900)
* Replication: A locking issue in the
WAIT_FOR_EXECUTED_GTID_SET() function could cause the
server to hang in certain circumstances. The issue has
now been corrected. (Bug #29550513)
* Replication: A deadlock could occur if the value of the
binlog_encryption system variable was changed while a
START SLAVE statement was being executed. (Bug #29515210)
* Replication: The heartbeat interval for a replication
slave, which is controlled by the MASTER_HEARTBEAT_PERIOD
option of the CHANGE MASTER TO statement, can be
specified with a resolution in milliseconds. Previously,
the master's binary log dump thread used a granularity of
seconds to calculate whether a heartbeat signal should be
sent to the slave, causing excessive heartbeat activity
in the case of multiple skipped events. To remove this
issue, all heartbeat-related calculations by the master
and slave are now carried out using a granularity of
nanoseconds for precision. Thanks to Facebook for the
contribution. (Bug #29363787, Bug #94356)
* Replication: Creation of a table with functional index
creates a hidden generated column on the table, but this
column did not always appear in the same position in the
table, which meant that later adding a column (or
columns) to the table might leave the hidden column in a
different position as compared to an otherwise identical
table already having the additional column or columns in
a single CREATE TABLE statement. For example, this
difference could be evident between two tables t1 and t2,
with t1 created and then altered by the two statements
CREATE TABLE t (a INT, INDEX ((a+1))) and ALTER TABLE t
ADD COLUMN b INT, and t2 created using CREATE TABLE t2 (a
INT, b INT, INDEX ((a+1))), even though SHOW CREATE TABLE
t1 and SHOW CREATE TABLE t2 produced identical results
(other than for the names of the tables).
The issue just described could become problematic due to
the fact that the internal definitions for the tables as
described by Table_map_log_events in the binary log would
differ. This meant that, if such a table was created
using CREATE TABLE followed by ALTER TABLE on the master,
and then a slave was deployed using mysqldump, the
slave's version of the table would be created using a
single CREATE TABLE statement, and subsequent replication
of row events would then fail with an error due to
mismatching types.
This issue is fixed by forcing all hidden generated
columns always to be located at the end of the list of
columns, with multiple generated columns sorted by column
name. If a new functional index part is added to the
table, the new hidden column is inserted according to
this rule. In addition, if the user creates a new column
that is not a generated column, the column is always
added before the first hidden column.
Note
The structure of tables affected by this change is not
changed automatically during upgrade; this must done
explicitly by executing ALTER TABLE.
(Bug #29317684)
* Replication: If a RESET MASTER statement was stopped
during its execution, the binary log was not available
for writes afterwards. (Bug #29125121)
* Replication: Some threads that executed transient or
minor Group Replication tasks, such as the delayed plugin
initialization thread, were not visible in the
Performance Schema threads table. (Bug #28930537)
* Replication: The implementation of Group Replication's
process when a member leaves the group due to an error
has been standardised across components, to ensure that
the member carries out exactly the same actions and
issues the same error messages regardless of the original
reason for leaving the group. (Bug #28866495)
* Replication: On a multi-threaded slave with GTIDs in use
and MASTER_AUTO_POSITION set to ON, following an
unexpected halt the slave would attempt relay log
recovery, which failed if relay logs had been lost,
preventing replication from starting. However, this step
was unnecessary as GTID auto-positioning can be used to
restore any missing transactions. In a recovery
situation, the slave now checks first whether
MASTER_AUTO_POSITION is set to ON, and if it is, skips
relay log recovery. (Bug #28830834, Bug #92882)
* The keyring_aws plugin was not included in Commercial
Docker RPM packages. (Bug #30199423)
* When generating C source from SQL scripts, Some
utf8-encoded characters were split across lines. Thanks
to Przemysław Skibiński for the patch. (Bug #30152555,
Bug #96449)
* The ARRAY reserved word was listed as unreserved in the
INFORMATION_SCHEMA.KEYWORDS table. (Bug #30134275, Bug
#96416)
* Some statements containing || produced a parse error even
with the PIPES_AS_CONCAT SQL mode enabled. (Bug
#30131161, Bug #96405)
References: This issue is a regression of: Bug #29305022.
* LOAD DATA statements incorrectly ignored the
NO_AUTO_VALUE_ON_ZERO SQL mode if a SET clause was
present. (Bug #30126375)
* Automatic upgrades failed with a server exit if the
thread_pool plugin was enabled. (Bug #30121742)
* When determining whether to recalculate a materialized
derived table for each execution, the uncacheability of
the parent query block was used instead of the
rematerialize flag on the table (currently only true for
JSON_TABLE()). This could cause unneeded
rematerializations, especially when making queries
against non-merged views, leading to reduced performance.
(Bug #30110851)
* With an IGNORE clause, LOAD DATA should skip rows that
produced a CHECK constraint violation and continue with
the following rows, but it stopped with an error. (Bug
#30084966, Bug #96296)
* With sql_require_primary_key enabled, clone plugin
initialization failed because it created two dynamic
Performance Schema tables, which do not support indexes
or primary keys. The effect of sql_require_primary_key is
now limited to storage engines that can participate in
replication (currently all storage engines except the
Performance Schema) (Bug #30083300, Bug #96281)
* Protobuf compilation failed on macOS. (Bug #30079536, Bug
#96263)
* For automatic upgrades, the audit_log plugin was not
reloaded, causing auditing to start in legacy mode. (Bug
#30068110)
* In order to remove duplicate rows, the weedout
optimization needs a unique identifier for each row,
which is provided by the storage engine by calling
handler::position(), but this function was not always
called at the correct time, or was sometimes called when
not needed. Issues regarding how and when to place such
calls were the source of many bugs in optimizations. This
fix moves the responsibility of calling
handler::position() to the iterators, whose default
implementations usually handle this task adequately on
their own. (Bug #30060691)
References: See also: Bug #29693294, Bug #30049217, Bug
#30153695.
* The server could exit due to mishandling a
COM_PROCESS_INFO command. (Bug #30032302)
* Warnings are normally generated when deprecated system
variables are assigned a value, but this did not occur
when persisted system variables were processed during
server startup. (Bug #30030648)
* With bind_address set to a value containing multiple
addresses, setting host_cache_size=0 caused a server exit
at client connect time. (Bug #30018958)
* On Windows, Protobuf compilation failed for the Ninja
build type. (Bug #30018894)
* A mysqldump error-message buffer was too small,
potentially leading to message truncation. (Bug
#29999782, Bug #96074)
* Last used auto-increment values instead of "next to be
used" auto-increment values were cached while importing
tables from MySQL 5.7 to MySQL 8.0 during an in-place
upgrade, which resulted in any tables read from the table
cache after upgrade having incorrect auto-increment
values. (Bug #29996434)
* When executing a prepared statement that used constant
folding, it was possible to register a location for
rollback which was not allocated on the MEMROOT, but
rather on the stack, and so was no longer in scope. (Bug
#29990693)
References: See also: Bug #29939331.
* A warning about ZEROFILL being deprecated was produced
for CREATE TABLE ... AS and CREATE TABLE ... LIKE
statements that created tables that contained a YEAR
column. This could be confusing because the ZEROFILL
attribute may only have been added implicitly to the YEAR
column. To avoid confusion, the warning is no longer
raised for such statements. (Bug #29961060)
* A query using bitwise operators, such as in WHERE
text_col < (int_col & int_col) AND int_col = -1, failed
to return any rows as expected. (Bug #29957969)
* Malformed resource group names in optimizer hints could
lead to unexpected server behavior. (Bug #29955732)
* EXPLAIN, when using FORMAT=TREE, did not show the same
costs as with FORMAT=JSON. In particular, when using
FORMAT=TREE, the cost calculated took into account
eval_cost for joins, but not for base tables. (Bug
#29953579)
* For Solaris, mysqld.cc contained a prototype for
memcntl() that is no longer needed. The prototype has
been removed. (Bug #29953495, Bug #95971)
* For Solaris, -DWITH_SSL=system did not work when
compiling with GCC. (Bug #29953460, Bug #95970)
* MySQL builds configured with -DWITHOUT_SERVER=1 failed.
(Bug #29948728, Bug #95740)
* The internal method Field_tiny::pack() did not always
perform bounds checking as expected. (Bug #29948029)
* Improper handling of plugin unloading could cause a
server exit. (Bug #29941948)
* The internal MEM_ROOT class did not handle all
out-of-memory errors correctly. (Bug #29940846)
* JSON_SCHEMA_VALIDATION_REPORT() did not distinguish
between a JSON document that did not validate according
to a JSON schema and a JSON document which was too deeply
nested, which resulted in wrong behavior in some cases.
(Bug #29940833)
* Use of the <=> operator could yield incorrect results for
comparisons involving very large constants. (Bug
#29939331, Bug #95908)
* For the keyring_aws plugin, some valid region values for
the keyring_aws_region system variable were rejected.
(Bug #29933758)
* For debug builds, an assertion could be raised during
UNION queries when computing the combined data type of a
GEOMETRY column and SELECT * FROM (SELECT NULL). (Bug
#29916900, Bug #95827)
* For columns defined with the binary character set, SHOW
CREATE TABLE could generate CREATE TABLE statements that
produced a syntax error when executed. (Bug #29909573,
Bug #95801)
* Data dictionary APIs were added for fetching table names
in a schema that use a specific storage engine, and for
fetching table names in a schema that are created and
hidden by the storage engine. The former is required by
NDB, and the latter is required for DROP DATABASE
operations. (Bug #29906844, Bug #95792)
* mysqldump leaked memory when run with the
--order-by-primary option. (Bug #29906736)
* For queries involving functional indexes, EXPLAIN
FORMAT=TREE printed the hidden column name instead of the
indexed expression. (Bug #29904996)
* For debug builds, CREATE TABLE ... IGNORE SELECT ...
statements did not properly clean up the table state when
the last row to be inserted was skipped due to a failed
CHECK constraint. This could cause the next statement
using the table to raise an assertion. (Bug #29903865)
* MySQL did not handle execution of a recursive common
table expression (CTE) correctly when the termination
condition of the recursive query for this CTE had an IN
predicate using another recursive CTE. (Bug #29899614)
* Deserialization of serialized dictionary information
(SDI) failed for a table with partitions residing in
different tablespace files. (Bug #29898965)
* For authentication using an LDAP authentication plugin,
if the user DN portion was empty and group mapping was
configured, authentication assigned an incorrect user DN
and skipped the user search. (Bug #29897624)
* Constraints defined without a name could in some cases
cause a server exit. (Bug #29892876)
* An in-place upgrade from MySQL 5.7 to MySQL 8.0 failed
due a missing NDB tablespace. (Bug #29889869, Bug
#30113440)
* mysqlpump produced an error when run against a server
older than MySQL 5.7. (Bug #29889253)
* When Boost was downloaded, CMake configuration logic for
determining the size of the downloaded file was
incorrect, and could remove that file after a successful
download operation. (Bug #29881279)
* A possible integer overflow due to unsigned integer type
casting could lead to later buffer overflow due to
arbitrary size memory allocation. (Bug #29878914)
* When the client character set was other than latin1, the
server converted the string representation of a DECIMAL
value from latin1 to the client character set. This
conversion was not necessary, since all supported client
character sets encode numbers in the same way as latin1,
and so is no longer performed. (Bug #29875672)
* The vio_description() debugging function was called in
nondebug builds. (Bug #29871361)
* The fix for a previous issue in MySQL 8.0.3 changed a
test for whether an expression over constant DATE values
could be cached from allowing any expressions except
global variables to a blanket denial of all functions,
regardless of whether they were over constants or not,
which significantly impacted performance of related
queries in which the optimizer needed to perform
conversion of a string to a DATE value. This test has
been reverted to its original form. (Bug #29871018)
References: This issue is a regression of: Bug #85471,
Bug #28576018.
* The INFORMATION_SCHEMA can fetch dynamic table statistics
from storage engines, but this did not work for
partitioned tables. (Bug #29870919, Bug #95641)
* Retrying a failed access-control statement could permit
another thread to acquire a lock on the access-control
cache during a window when metadata locks where released
and reacquired, resulting in a deadlock. The locks are
now not released during the retry operation. (Bug
#29870899, Bug #95612)
* An assertion could be raised if a user without the proper
privilege attempted to enable the offline_mode system
variable. (Bug #29849046)
* Fedora packaging configuration put debug information for
mysql_config_editor in the wrong package. (Bug #29841342)
* Attempted use of a freed object during MeCab plugin
initialization caused a segmentation fault. (Bug
#29832534)
* The function used to generate entropy for random
passwords could sometimes not provide much entropy. (Bug
#29808492)
* With super_read_only enabled, the server could process
DROP TABLESPACE improperly. (Bug #29802833)
* The server did not handle a query with a left join
containing a materialized semijoin correctly. (Bug
#29800741)
* For MySQL installed using RPM packages, an initialization
script that tested server connectivity misbehaved if the
client account authenticated using an LDAP authentication
plugin. (Bug #29786782)
* Improper locking during storage engine initialization
could cause a server exit. (Bug #29782379)
* On a GTID-enabled server, concurrent execution of DROP
USER and a prepared statement that accessed a view could
deadlock. (Bug #29772622)
* When performing EXPLAIN FORMAT=JSON on a query of the
form SELECT WHERE NOT EXISTS (SELECT FROM (derived_table)
WHERE false_condition) involving an antijoin
transformation, the subquery was eliminated but its own
subqueries were moved up instead of being eliminated
along with it. (Bug #29759277)
References: See also: Bug #30017509.
* An interrupted tablespace encryption operation caused a
discrepancy between data dictionary and storage engine
metadata, resulting in an assertion failure on a
subsequent attempt to access the tablespace. (Bug
#29756808)
* Simultaneous execution of the event scheduler and DROP
EVENT could result in lock acquisition hanging until lock
wait timeout. (Bug #29742901, Bug #95223)
* A query with a WHERE clause whose predicate contained a
numeric value in scientific notation was not handled
correctly. (Bug #29723340)
* CHECK constraints were not enforced when a column took
its default value from an expression. (Bug #29706689, Bug
#95192)
* When performing two sorts on the same table with no
temporary table, both sorts tried to use the same buffer,
resulting in a read out of bounds. This could occur when
the same query used both DISTINCT and ORDER BY. (Bug
#29699759)
* When performing a weedout involving a sorted table,
sorting was not done by row IDs. (Bug #29693294)
* VS2019 produced compilation errors with debug compilation
selected due to use of the /ZI flag. Now /Z7 is used
instead. (Bug #29691691, Bug #95125)
* In source distributions, these changes were made in
relation to the DBUG package, to clean up old and
unmaintained code in the dbug directory:
+ Moved dbug.cc to the mysys directory, removed the
dbug library.
+ Removed unused functions in dbug.cc.
+ Removed the DBUG_LEAVE macro; no longer needed.
+ Wrapped the body of the DBUG_LOG macro in if
_db_enabled_(), to avoid formatting of strings that
likely will not be printed anyway.
+ Removed the dbug directory.
(Bug #29680868, Bug #95082)
* While allocating the reference item array, the count for
any window functions was not taken into consideration. As
a result, when expressions having window functions were
split, the extra space needed to store the new item
references was not properly allocated. (Bug #29672621)
* Setting the collation of a user variable did not work
correctly in all cases. (Bug #29665165)
* Processing of WHERE clauses in SHOW statements was not
performed consistently. (Bug #29664758)
* If clauses to drop and add constraints were specified
within the same ALTER TABLE statement, they were executed
in incorrect order. (Bug #29652464)
* EXPLAIN now shows when a result is being sorted by row
ID. (Bug #29634196)
* Unnecessary materialization is no longer performed in
either of the following cases:
+ When performing a sort at the end of a join, such as
for grouping, and the sorting does not make use of
row IDs.
+ When materializing a derived table which is not to
be read from more than once.
(Bug #29634179)
* CAST(arg AS FLOAT) did not returned the expected
out-of-range error when arg was too small to be
represented as a FLOAT value. (Bug #29621333)
* Internal conversion of FLOAT values sometimes occurred at
the wrong time, which could lead to excess precision in
results. Consider the table created and populated as
shown here:
CREATE TABLE t(f FLOAT);
INSERT INTO t VALUES (2.3);
Prior to the fix, the query SELECT f, IF(f > 0, f, 0)
FROM t against this table returned (2.3,
2.299999952316284) instead of (2.3, 2.3) as expected.
(Bug #29621062)
* log0meb.cc failed to compile with some build options.
(Bug #29616525)
* The client library could dereference a null pointer while
fetching result set metadata from the server. (Bug
#29597896)
* A runtime error could occur for interval value checks
when summing date and interval values. (Bug #29587536)
* In builds with Undefined Behavior Sanitizer enabled,
multiplication with -9223372036854775808 could produce
warnings and incorrect results. (Bug #29581610)
* During startup, the server attempted to write operations
to the binary log that should not have been logged. (Bug
#29557747, Bug #94835)
* A statement of the form CREATE VIEW v1 AS SELECT * FROM
table WHERE (constant IN (SELECT constant) IS UNKNOWN)
led to an assertion. (Bug #29525304)
References: This issue is a regression of: Bug #25466100.
* On EL6, if a FIPS-enabled OpenSSL library was not
available, attempting to enable FIPS mode could cause a
server malfunction. (Bug #29519794)
* SET PERSIST_ONLY can be used to persist some system
variables that SET PERSIST cannot (due to the way
variable settings occur). If such a variable is found in
mysqld-auto.cnf at startup, the server now issues a
warning and ignores the setting. (Bug #29511118)
* The server did not properly aggregate a partial revoke
and a schema-level privilege in some cases. (Bug
#29484519)
* For debug builds, ENUM or SET columns defined with a
DEFAULT clause raised an assertion. (Bug #29480711)
* MySQL Installer did not install OpenSSL DLL dependencies
if the Development component was not selected. (Bug
#29423421, Bug #94168, Bug #30199579, Bug #96573)
* In READ UNCOMMITTED isolation level, a segmentation fault
occurred under heavy load from memcached clients. An
externally stored BLOB column that was being updated by
one transaction was read by another transaction as having
a NULL value and a non-zero data length. (Bug #29396364,
Bug #93961)
* On systems with working IPv6 address resolution, IPv6
socket creation failure at connect time resulted in a
memory leak. (Bug #29374606, Bug #94384)
* In replication scenarios, if multiple clients
concurrently executed XA COMMIT or XA ROLLBACK statements
that used the same XID value, replication inconsistency
could occur. (Bug #29293279, Bug #94130)
* Arguments for the TIMESTAMPADD() function could be
reversed for prepared statements. (Bug #29268394)
* The DEFAULT ROLE option for CREATE USER statements was
not written to the binary log. (Bug #28948915, Bug
#93252)
* Starting the server from the command line with invalid
memcached plugin variable settings caused the server to
exit. (Bug #28575863)
* The SET clause for LOAD DATA did not work to set GEOMETRY
NOT NULL columns. (Bug #28460369, Bug #91893)
* On Windows 8 and higher, the keyring_aws plugin was not
able to communicate with Amazon KMS servers. (Bug
#28377961)
* INFORMATION_SCHEMA tables and SHOW COLUMNS could produce
incorrect view column types when a query on the view had
multiple query blocks combined with the UNION operator.
(Bug #28278220, Bug #91486)
* On Debian, long InnoDB recovery times at startup could
cause systemd service startup failure. The default
systemd service timeout is now disabled (consistent with
RHEL) to prevent this from happening. (Bug #28246585, Bug
#91423)
* With the thread_pool plugin enabled, the sys.processlist
and sys.session views displayed a thread name rather than
the actual user name. (Bug #25906021, Bug #85976)
* The delete_latency column in the
sys.schema_index_statistics view incorrectly referred to
the SUM_TIMER_INSERT column of the Performance Schema
table_io_waits_summary_by_index_usage table rather than
the SUM_TIMER_DELETE column. (Bug #25521928)
* In output from the sys.diagnostics() procedure, the
latency column for the user_summary_by_file_io_type view
was incorrectly displayed in raw picoseconds rather than
as a formatted value. (Bug #25287996)
* MySQL Enterprise Encryption functions could apply
Diffie-Hellman (DH) methods to non-DH keys, resulting in
unpredictable results or server exit. (Bug #22839007)
* Password masking was incomplete for SHOW PROCESSLIST and
some INFORMATION_SCHEMA and Performance Schema tables.
(Bug #20712046)
* With strict SQL mode enabled, the STR_TO_DATE() function
did not properly handle values with time parts only.
Thanks to Daniel Black for the contribution. (Bug
#18090591, Bug #71386)
* A query using GREATEST() in the WHERE clause could, in
certain cases, fail to return a row where one was
expected or raise a spurious error. (Bug #96012, Bug
#29963278)
* Explicitly setting sort_buffer_size to its maximum value
or close to it caused some queries to fail with an out of
memory error. (Bug #95969, Bug #29952775)
References: See also: Bug #22594514.
* Late NULL filtering, to avoid index lookups if the lookup
key contains at least one NULL, was not performed for
backwards index scans, although it was for forward index
scans. (Bug #95967, Bug #29954680)
* Using a function such as IFNULL() or ABS() in a
functional index led to the error Value is out of range
for functional index... when an UNSIGNED column used as
an argument to such a function contained a value
exceeding that of the corresponding signed integer type.
(Bug #95881, Bug #29934661)
* The resolution procedure for the IFNULL() function
differed from that for all other functions derived from
CASE(), including COALESCE(), which caused incorrect
length information to be generated for certain numeric
expressions. (Bug #94614, Bug #29463760)
* Queries using UNION ALL ... LIMIT 1 evaluated an
excessive number of rows as shown by Handler_read,
Handler_read_key, and Handler_read_next. (Bug #79340, Bug
#22292995)
References: See also: Bug #79040, Bug #22158368, Bug
#92994, Bug #28866942.
* The -DWITH_EXAMPLE_STORAGE_ENGINE=1 CMake option was
ignored but should not have been. If
-DWITH_EXAMPLE_STORAGE_ENGINE=0 is given, the EXAMPLE
storage engine is built as a plugin. (Bug #70859, Bug
#17772560, Bug #30133062)
References: See also: Bug #18324650.
/Edited 1 time(s). Last edit at 10/14/2019 07:46AM by Bjørn Munch.
Subject
Views
Written By
Posted
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.