Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/databases mysql57: updated to 5.7.31



details:   https://anonhg.NetBSD.org/pkgsrc/rev/b57f8d8b9b86
branches:  trunk
changeset: 436569:b57f8d8b9b86
user:      adam <adam%pkgsrc.org@localhost>
date:      Wed Aug 05 16:12:11 2020 +0000

description:
mysql57: updated to 5.7.31

Changes in MySQL 5.7.31

Configuration Notes

tcmalloc is no longer a permitted value for the mysqld_safe --malloc-lib option.

Packaging Notes

The libevent library bundled with MySQL was upgraded to version 2.1.11. In addition, for the WITH_LIBEVENT CMake option, the following two changes were made:

yes is no longer permitted as a synonym for system. Use system instead.

If system is specified but no system libevent is found, the bundled version is no longer used in place of the missing system library, and an error occurs instead.

Security Notes

Incompatible Change: Access to the INFORMATION_SCHEMA.FILES table now requires the PROCESS privilege.

This change affects users of the mysqldump command, which accesses tablespace information in the FILES table, and thus now requires the PROCESS privilege as well. Users who do not need to dump 
tablespace information can work around this requirement by invoking mysqldump with the --no-tablespaces option.

The linked OpenSSL library for MySQL Server has been updated to version 1.1.1g. Issues fixed in the new OpenSSL version are described at https://www.openssl.org/news/cl111.txt and 
https://www.openssl.org/news/vulnerabilities.html.

Bugs Fixed

InnoDB: The INNODB_METRICS table AVG_COUNT_RESET value for a counter defined as a module owner reported NULL. The METRIC_AVG_VALUE_RESET field was incorrectly marked as NULL.

InnoDB: Purge thread activity was excessive when the history list length approached zero, wasting CPU resource and causing mutex contention.

InnoDB: The server failed intermittently with an “ibuf cursor restoration fails” error.

InnoDB: A fatal “page still fixed or dirty” error occurred during shutdown.

Partitioning: A query against a partitioned table, which used an ORDER BY, returned unordered results under the following conditions:

The table had a composite index with a prefix on one of the columns.

The query's WHERE clause contained an equality condition on the prefixed column.

The column with the prefix was the leftmost column in the index.

The column used in the ORDER BY was the rightmost column in the index.

The index was used for handling the ORDER BY.

Our thanks to Quanan Han for the contribution.

Replication: When a replication source server shuts down and restarts, its MEMORY tables become empty. To replicate this effect to replicas, the first time that the source uses a given MEMORY table 
after startup, it notifies replicas that the table must be emptied by writing a DELETE statement for that table to the binary log. Previously, the generated DELETE statement was written to the binary 
log statement cache for the current session, which could result in it being logged together with other statements under the same GTID, or logged without BEGIN and COMMIT statements. Also, in some 
situations, the generated DELETE statement could consume the GTID intended for the transaction that triggered it. The generated DELETE statement is now logged with accompanying BEGIN and COMMIT 
statements, and the resulting transaction is flushed to the binary log immediately after it is written to the statement cache, so that it always receives its own GTID and is kept separate from other 
transactions.

Replication: Internal queries from Group Replication to the Performance Schema for statistics on local group members failed if they occurred simultaneously with changes to the group's membership. 
Locking for the internal queries has been improved to fix the issue.

Replication: A fix made in MySQL 8.0.14 and MySQL 5.7.25 for a deadlock scenario involving the system variables binlog_transaction_dependency_tracking and binlog_transaction_dependency_history_size 
had the side effect of leaving the writeset history used for transaction dependency tracking unprotected from concurrent update. The writeset history and tracking mode are now locked correctly 
whenever they are accessed.

Configuring with -DWITH_EDITLINE=system resulted in compilation failures for older library versions.

The upgrade of the bundled libedit library in the previous MySQL distribution caused a problem for builds using that library such that CTRL+C (SIGINT) in the mysql client required a following Enter 
to take effect in some circumstances.

Assigning CONCAT('') or CONCAT_WS('') to a variable set the variable to NULL, not the empty string.

The gen_range() user-defined function could mishandle its arguments, causing a server exit.

During UPDATE processing, conversion of an internal in-memory table to InnoDB could result in a key-length error.

It is possible to define a column named * (single asterisk character), but SELECT `*` was treated identically to SELECT *, making it impossible to select only this column in a query; in other words, 
the asterisk character was expanded to a list of all table columns even when it was surrounded by backticks.

An internal packet-length function returned values of the wrong integer type.

Calculations by mysqldump for the length of INSERT statements did not take into account the _binary character set introducer used for VARBINARY strings.

mysql_store_result() could fail to detect invalid data packets.

In a multiple-table UPDATE that updated the key of the first table, if a temporary table strategy was used, duplicate entries could be written to the temporary table, followed by occurrence of a 
Can't find record error.

The optimizer could attempt to access a pseudo table as a table, resulting in unexpected server behavior.

The server sometimes mistakenly removed a subquery with a GROUP BY when optimizing a query, even in some cases when this subquery was used by an outer select. This could occur when the subquery also 
used an aggregate function.

Coercibility of the NAME_CONST() function was assessed incorrectly.

Incorrect results could occur when the optimizer chose an index on a generated column to fetch values.

diffstat:

 databases/mysql57-client/Makefile.common               |   4 +-
 databases/mysql57-client/PLIST                         |   4 +-
 databases/mysql57-client/distinfo                      |  11 +++----
 databases/mysql57-client/patches/patch-client_mysql.cc |  24 ------------------
 databases/mysql57-server/PLIST                         |  12 ++++++++-
 5 files changed, 20 insertions(+), 35 deletions(-)

diffs (165 lines):

diff -r ee02201d8081 -r b57f8d8b9b86 databases/mysql57-client/Makefile.common
--- a/databases/mysql57-client/Makefile.common  Wed Aug 05 14:39:01 2020 +0000
+++ b/databases/mysql57-client/Makefile.common  Wed Aug 05 16:12:11 2020 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile.common,v 1.27 2020/05/11 21:25:02 tnn Exp $
+# $NetBSD: Makefile.common,v 1.28 2020/08/05 16:12:11 adam Exp $
 #
 # used by databases/mysql57-client/Makefile
 # used by databases/mysql57-server/Makefile
 
-DISTNAME=      mysql-5.7.30
+DISTNAME=      mysql-5.7.31
 CATEGORIES=    databases
 MASTER_SITES=  ${MASTER_SITE_MYSQL:=MySQL-5.7/}
 
diff -r ee02201d8081 -r b57f8d8b9b86 databases/mysql57-client/PLIST
--- a/databases/mysql57-client/PLIST    Wed Aug 05 14:39:01 2020 +0000
+++ b/databases/mysql57-client/PLIST    Wed Aug 05 16:12:11 2020 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.17 2020/05/07 05:31:53 adam Exp $
+@comment $NetBSD: PLIST,v 1.18 2020/08/05 16:12:11 adam Exp $
 bin/mysql
 bin/mysql_client_test
 bin/mysql_config
@@ -122,7 +122,7 @@
 lib/libmysqlclient.a
 lib/libmysqlclient.so
 lib/libmysqlclient.so.20
-lib/libmysqlclient.so.20.3.17
+lib/libmysqlclient.so.20.3.18
 lib/pkgconfig/mysqlclient.pc
 man/man1/comp_err.1
 man/man1/innochecksum.1
diff -r ee02201d8081 -r b57f8d8b9b86 databases/mysql57-client/distinfo
--- a/databases/mysql57-client/distinfo Wed Aug 05 14:39:01 2020 +0000
+++ b/databases/mysql57-client/distinfo Wed Aug 05 16:12:11 2020 +0000
@@ -1,13 +1,12 @@
-$NetBSD: distinfo,v 1.37 2020/05/07 05:31:53 adam Exp $
+$NetBSD: distinfo,v 1.38 2020/08/05 16:12:11 adam Exp $
 
-SHA1 (mysql-5.7.30.tar.gz) = 47e55b66a92d12549445a0e13e577798fb571a35
-RMD160 (mysql-5.7.30.tar.gz) = 90a5e160c4f6980bb00494c7c1918abca68831e6
-SHA512 (mysql-5.7.30.tar.gz) = 494d78881ea5a7561b3e3b8f42e6e4cc07e3c23d2dda59bc50d14fa697bfb1b5bf430d06fcb0a27cb5fd9af33585d55971780c7f7cc2d961c33750c842b628a9
-Size (mysql-5.7.30.tar.gz) = 54386443 bytes
+SHA1 (mysql-5.7.31.tar.gz) = de7096fd56bfb9e904f81f7b0cff01ca9f1b89c4
+RMD160 (mysql-5.7.31.tar.gz) = a5ebd18b6841b0fb794e5fa88fac302f24c5e860
+SHA512 (mysql-5.7.31.tar.gz) = b529f19585e99a48264b4ca4cadba4ea81714750b9517df55a32f52accf3bc01bae9bcd40fdce097db8c7aa10e3a986d936cfceec5664121ebb5785c32d6db84
+Size (mysql-5.7.31.tar.gz) = 54418341 bytes
 SHA1 (patch-CMakeLists.txt) = 1409a98380c999c6973fa3106dc35684b7c3b3cc
 SHA1 (patch-client_CMakeLists.txt) = 4af2fb3f3d05a66a9ee89f3653e2fcccadfa5f79
 SHA1 (patch-client_completion_hash.cc) = b86ec80beac624b2aa21c7587e351ff126400ecb
-SHA1 (patch-client_mysql.cc) = d30ca68d41a5c2fe71e50845e9e772ecf9fbaac5
 SHA1 (patch-client_mysqladmin.cc) = e1650ef3695675bcc01375bacdebcb7318218b93
 SHA1 (patch-cmake_boost.cmake) = ecf03b396c57c69e0d251497e7217e47632613c2
 SHA1 (patch-cmake_build__configurations_mysql__release.cmake) = 7a1fb8c686f187db8fd9d8ad203c1f764d6e55a6
diff -r ee02201d8081 -r b57f8d8b9b86 databases/mysql57-client/patches/patch-client_mysql.cc
--- a/databases/mysql57-client/patches/patch-client_mysql.cc    Wed Aug 05 14:39:01 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-$NetBSD: patch-client_mysql.cc,v 1.1 2020/05/07 05:31:53 adam Exp $
-
-Editline fixes.
-
---- client/mysql.cc.orig       2020-05-06 16:48:02.000000000 +0000
-+++ client/mysql.cc
-@@ -2828,7 +2828,7 @@ static int fake_magic_space(int, int);
- char *no_completion(const char *, int)
- #elif defined(USE_LIBEDIT_INTERFACE)
- static int fake_magic_space(int, int);
--char *no_completion(const char *, int)
-+int no_completion(const char *, int)
- #else
- char *no_completion()
- #endif
-@@ -2855,7 +2855,7 @@ static int not_in_history(const char *li
- #if defined(USE_NEW_EDITLINE_INTERFACE)
- static int fake_magic_space(int, int)
- #else
--static int fake_magic_space(int, int)
-+static int fake_magic_space(const char *, int)
- #endif
- {
-   rl_insert(1, ' ');
diff -r ee02201d8081 -r b57f8d8b9b86 databases/mysql57-server/PLIST
--- a/databases/mysql57-server/PLIST    Wed Aug 05 14:39:01 2020 +0000
+++ b/databases/mysql57-server/PLIST    Wed Aug 05 16:12:11 2020 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.17 2020/05/07 05:31:53 adam Exp $
+@comment $NetBSD: PLIST,v 1.18 2020/08/05 16:12:11 adam Exp $
 bin/innochecksum
 bin/lz4_decompress
 bin/my_print_defaults
@@ -1596,6 +1596,7 @@
 share/mysql/test/r/mysqldump-max.result
 share/mysql/test/r/mysqldump-no-binlog.result
 share/mysql/test/r/mysqldump.result
+share/mysql/test/r/mysqldump_bug29998457.result
 share/mysql/test/r/mysqldump_restore.result
 share/mysql/test/r/mysqldumpslow.result
 share/mysql/test/r/mysqlimport.result
@@ -2590,6 +2591,7 @@
 share/mysql/test/suite/binlog/r/binlog_wait_for_executed_gtid_set_no_gtid.result
 share/mysql/test/suite/binlog/r/binlog_wait_for_executed_gtid_set_unsafe_statement.result
 share/mysql/test/suite/binlog/r/binlog_write_error.result
+share/mysql/test/suite/binlog/r/binlog_writeset_history_protection.result
 share/mysql/test/suite/binlog/r/binlog_wrong_last_committed.result
 share/mysql/test/suite/binlog/r/binlog_xa_handling.result
 share/mysql/test/suite/binlog/r/binlog_xa_modify_gtid_executed_explicitly.result
@@ -2818,6 +2820,7 @@
 share/mysql/test/suite/binlog/t/binlog_wait_for_executed_gtid_set_no_gtid.test
 share/mysql/test/suite/binlog/t/binlog_wait_for_executed_gtid_set_unsafe_statement.test
 share/mysql/test/suite/binlog/t/binlog_write_error.test
+share/mysql/test/suite/binlog/t/binlog_writeset_history_protection.test
 share/mysql/test/suite/binlog/t/binlog_wrong_last_committed.test
 share/mysql/test/suite/binlog/t/binlog_xa_handling.test
 share/mysql/test/suite/binlog/t/binlog_xa_modify_gtid_executed_explicitly.test
@@ -4526,6 +4529,7 @@
 share/mysql/test/suite/group_replication/r/gr_startup_verifications_not_log_slave_updates.result
 share/mysql/test/suite/group_replication/r/gr_startup_verifications_not_table_repositories.result
 share/mysql/test/suite/group_replication/r/gr_stop_async_on_stop_gr.result
+share/mysql/test/suite/group_replication/r/gr_stop_during_pfs.result
 share/mysql/test/suite/group_replication/r/gr_stop_gr_during_dml_01.result
 share/mysql/test/suite/group_replication/r/gr_stop_gr_during_dml_02.result
 share/mysql/test/suite/group_replication/r/gr_stop_procedure_hang.result
@@ -5032,6 +5036,7 @@
 share/mysql/test/suite/group_replication/t/gr_startup_verifications_not_table_repositories.test
 share/mysql/test/suite/group_replication/t/gr_stop_async_on_stop_gr-master.opt
 share/mysql/test/suite/group_replication/t/gr_stop_async_on_stop_gr.test
+share/mysql/test/suite/group_replication/t/gr_stop_during_pfs.test
 share/mysql/test/suite/group_replication/t/gr_stop_gr_during_dml_01.cnf
 share/mysql/test/suite/group_replication/t/gr_stop_gr_during_dml_01.test
 share/mysql/test/suite/group_replication/t/gr_stop_gr_during_dml_02.cnf
@@ -9732,6 +9737,7 @@
 share/mysql/test/suite/rpl/r/rpl_gtid_deleted_binlog_fail_to_connect.result
 share/mysql/test/suite/rpl/r/rpl_gtid_do_table_filter_insensitive.result
 share/mysql/test/suite/rpl/r/rpl_gtid_do_table_filter_sensitive.result
+share/mysql/test/suite/rpl/r/rpl_gtid_drop_mem_table.result
 share/mysql/test/suite/rpl/r/rpl_gtid_drop_table.result
 share/mysql/test/suite/rpl/r/rpl_gtid_dump_error.result
 share/mysql/test/suite/rpl/r/rpl_gtid_empty_transaction.result
@@ -10453,6 +10459,8 @@
 share/mysql/test/suite/rpl/t/rpl_gtid_do_table_filter_insensitive.test
 share/mysql/test/suite/rpl/t/rpl_gtid_do_table_filter_sensitive-slave.opt
 share/mysql/test/suite/rpl/t/rpl_gtid_do_table_filter_sensitive.test
+share/mysql/test/suite/rpl/t/rpl_gtid_drop_mem_table.cnf
+share/mysql/test/suite/rpl/t/rpl_gtid_drop_mem_table.test
 share/mysql/test/suite/rpl/t/rpl_gtid_drop_table.cnf
 share/mysql/test/suite/rpl/t/rpl_gtid_drop_table.test
 share/mysql/test/suite/rpl/t/rpl_gtid_dump_error.test
@@ -12810,6 +12818,7 @@
 share/mysql/test/suite/sys_vars/t/transaction_alloc_block_size_basic.test
 share/mysql/test/suite/sys_vars/t/transaction_allow_batching_basic.test
 share/mysql/test/suite/sys_vars/t/transaction_isolation_basic.test
+share/mysql/test/suite/sys_vars/t/transaction_isolation_func-master.opt
 share/mysql/test/suite/sys_vars/t/transaction_isolation_func.test
 share/mysql/test/suite/sys_vars/t/transaction_prealloc_size_basic.test
 share/mysql/test/suite/sys_vars/t/transaction_read_only_basic.test
@@ -14113,6 +14122,7 @@
 share/mysql/test/t/mysqldump-no-binlog-master.opt
 share/mysql/test/t/mysqldump-no-binlog.test
 share/mysql/test/t/mysqldump.test
+share/mysql/test/t/mysqldump_bug29998457.test
 share/mysql/test/t/mysqldump_restore.test
 share/mysql/test/t/mysqldumpslow.test
 share/mysql/test/t/mysqlimport.test



Home | Main Index | Thread Index | Old Index