MySQL Forums
Forum List  »  Announcements

MySQL Community Server 8.0.18 has been released, part 2/2
Posted by: Bjørn Munch
Date: October 14, 2019 07:39AM

[This is part 2 of the announcement]

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.

Options: ReplyQuote


Subject
Views
Written By
Posted
MySQL Community Server 8.0.18 has been released, part 2/2
1701
October 14, 2019 07:39AM


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.