pkgsrc-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.33
details: https://anonhg.NetBSD.org/pkgsrc/rev/38051b443e3b
branches: trunk
changeset: 446139:38051b443e3b
user: adam <adam%pkgsrc.org@localhost>
date: Thu Feb 04 20:26:10 2021 +0000
description:
mysql57: updated to 5.7.33
Changes in MySQL 5.7.33
Optimizer Notes
MySQL attempts to use an ordered index for any ORDER BY or GROUP BY query that has a LIMIT clause, overriding any other choices made by the optimizer, whenever it determines that this would result in
faster execution. Because the algorithm for making this determination makes certain assumptions about data distribution and other conditions, it may not always be completely correct, and it is
possible in some cases that choosing a different optimization for such queries can provide better performance. To handle such occurrences, it is now possible to disable this optimization by setting
the optimizer_switch system variable's prefer_ordering_index flag to off.
For more information about this flag and examples of its use, see Switchable Optimizations, and LIMIT Query Optimization.
Our thanks to Jeremy Cole for the contribution.
Security Notes
The linked OpenSSL library for MySQL Server has been updated to version 1.1.1i. 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.
Functionality Added or Changed
When invoked with the --all-databases option, mysqldump now dumps the mysql database first, so that when the dump file is reloaded, any accounts named in the DEFINER clause of other objects will
already have been created.
Bugs Fixed
InnoDB: The full-text search synchronization thread attempted to read a previously-freed word from the index cache.
InnoDB: Calls to numa_all_nodes_ptr were replaced by the numa_get_mems_allowed() function. Thanks to Daniel Black for the contribution.
Replication: When the system variable transaction_write_set_extraction=XXHASH64 is set, which is the default in MySQL 8.0 and a requirement for Group Replication, the collection of writes for a
transaction previously had no upper size limit. Now, for standard source to replica replication, the numeric limit on write sets specified by binlog_transaction_dependency_history_size is applied,
after which the write set information is discarded but the transaction continues to execute. Because the write set information is then unavailable for the dependency calculation, the transaction is
marked as non-concurrent, and is processed sequentially on the replica. For Group Replication, the process of extracting the writes from a transaction is required for conflict detection and
certification on all group members, so the write set information cannot be discarded if the transaction is to complete. The byte limit set by group_replication_transaction_size_limit is applied
instead of the numeric limit, and if the limit is exceeded, the transaction fails to execute.
Replication: As the number of replicas replicating from a semisynchronous source server increased, locking contention could result in a performance degradation. The locking mechanisms used by the
plugins have been changed to use shared locks where possible, avoid unnecessary lock acquisitions, and limit callbacks. The new behaviors can be implemented by enabling the following system variables:
replication_sender_observe_commit_only=1 limits callbacks.
replication_optimize_for_static_plugin_config=1 adds shared locks and avoids unnecessary lock acquisitions. This system variable must be disabled if you want to uninstall the plugin.
Both system variables can be enabled before or after installing the semisynchronous replication plugin, and can be enabled while replication is running. Semisynchronous replication source servers can
also get performance benefits from enabling these system variables, because they use the same locking mechanisms as the replicas.
Replication: On a multi-threaded replica where the commit order is preserved, worker threads must wait for all transactions that occur earlier in the relay log to commit before committing their own
transactions. If a deadlock occurs because a thread waiting to commit a transaction later in the commit order has locked rows needed by a transaction earlier in the commit order, a deadlock detection
algorithm signals the waiting thread to roll back its transaction. Previously, if transaction retries were not available, the worker thread that rolled back its transaction would exit immediately
without signalling other worker threads in the commit order, which could stall replication. A worker thread in this situation now waits for its turn to call the rollback function, which means it
signals the other threads correctly.
Replication: GTIDs are only available on a server instance up to the number of non-negative values for a signed 64-bit integer (2 to the power of 63 minus 1). If you set the value of gtid_purged to a
number that approaches this limit, subsequent commits can cause the server to run out of GTIDs and take the action specified by binlog_error_action. From MySQL 8.0.23, a warning message is issued
when the server instance is approaching the limit.
Microsoft Windows: On Windows, running the MySQL server as a service caused shared-memory connections to fail.
The server did not handle all cases of the WHERE_CONDITION optimization correctly.
For the engines which support primary key extension, when the total key length exceeded MAX_KEY_LENGTH or the number of key parts exceeded MAX_REF_PARTS, key parts of primary keys which did not fit
within these limits were not added to the secondary key, but key parts of primary keys were unconditionally marked as part of secondary keys.
This led to a situation in which the secondary key was treated as a covering index, which meant sometimes the wrong access method was chosen.
This is fixed by modifying the way in which key parts of primary keys are added to secondary keys so that those which do not fit within which do not fit within the limits mentioned previously
mentioned are cleared.
Privileges for some INFORMATION_SCHEMA tables were checked incorrectly.
In certain cases, the server did not handle multiply-nested subqueries correctly.
Certain accounts could cause server startup failure if the skip_name_resolve system variable was enabled.
Client programs could unexpectedly exit if communication packets contained bad data.
A buffer overflow in the client library was fixed.
mysql_config_editor incorrectly treated # in password values as a comment character.
diffstat:
databases/mysql57-client/Makefile | 3 +-
databases/mysql57-client/Makefile.common | 6 +-
databases/mysql57-client/PLIST | 4 +-
databases/mysql57-client/distinfo | 11 ++-
databases/mysql57-client/patches/patch-sql_locks_shared__spin__lock.cc | 19 +++++++
databases/mysql57-server/Makefile | 3 +-
databases/mysql57-server/PLIST | 26 +++++++++-
7 files changed, 57 insertions(+), 15 deletions(-)
diffs (212 lines):
diff -r db76d3179a5d -r 38051b443e3b databases/mysql57-client/Makefile
--- a/databases/mysql57-client/Makefile Thu Feb 04 20:15:31 2021 +0000
+++ b/databases/mysql57-client/Makefile Thu Feb 04 20:26:10 2021 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.35 2021/01/01 08:24:38 ryoon Exp $
+# $NetBSD: Makefile,v 1.36 2021/02/04 20:26:10 adam Exp $
PKGNAME= ${DISTNAME:S/-/-client-/}
-PKGREVISION= 1
COMMENT= MySQL 5, a free SQL database (client)
CONFLICTS= mysql3-client-[0-9]*
diff -r db76d3179a5d -r 38051b443e3b databases/mysql57-client/Makefile.common
--- a/databases/mysql57-client/Makefile.common Thu Feb 04 20:15:31 2021 +0000
+++ b/databases/mysql57-client/Makefile.common Thu Feb 04 20:26:10 2021 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile.common,v 1.30 2020/12/31 20:04:11 nia Exp $
+# $NetBSD: Makefile.common,v 1.31 2021/02/04 20:26:10 adam Exp $
#
# used by databases/mysql57-client/Makefile
# used by databases/mysql57-server/Makefile
-DISTNAME= mysql-5.7.32
+DISTNAME= mysql-5.7.33
CATEGORIES= databases
MASTER_SITES= ${MASTER_SITE_MYSQL:=MySQL-5.7/}
@@ -15,7 +15,7 @@
PATCHDIR?= ${.CURDIR}/../../databases/mysql57-client/patches
USE_CMAKE= yes
-USE_LANGUAGES= c c++
+USE_LANGUAGES= c c++14
USE_TOOLS+= bash bison gmake perl:run
USE_GCC_RUNTIME= yes
USE_BUILTIN.libevent= no
diff -r db76d3179a5d -r 38051b443e3b databases/mysql57-client/PLIST
--- a/databases/mysql57-client/PLIST Thu Feb 04 20:15:31 2021 +0000
+++ b/databases/mysql57-client/PLIST Thu Feb 04 20:26:10 2021 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.19 2020/10/21 13:34:50 adam Exp $
+@comment $NetBSD: PLIST,v 1.20 2021/02/04 20:26:10 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.19
+lib/libmysqlclient.so.20.3.20
lib/pkgconfig/mysqlclient.pc
man/man1/comp_err.1
man/man1/innochecksum.1
diff -r db76d3179a5d -r 38051b443e3b databases/mysql57-client/distinfo
--- a/databases/mysql57-client/distinfo Thu Feb 04 20:15:31 2021 +0000
+++ b/databases/mysql57-client/distinfo Thu Feb 04 20:26:10 2021 +0000
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.39 2020/10/21 13:34:50 adam Exp $
+$NetBSD: distinfo,v 1.40 2021/02/04 20:26:10 adam Exp $
-SHA1 (mysql-5.7.32.tar.gz) = ef8e61325901edf011c29fd0dca35c4c8f07ca74
-RMD160 (mysql-5.7.32.tar.gz) = 848533114b445f91a3fb2abf7d840f81b38c9679
-SHA512 (mysql-5.7.32.tar.gz) = 01336bd2e81514223bdb23220f9bda02432951bfc3e9f3ae0688d4c371f5aade608d6cb57df06c60c54a3810da43007d671b8b423805d7ec0992388fc605b411
-Size (mysql-5.7.32.tar.gz) = 56154080 bytes
+SHA1 (mysql-5.7.33.tar.gz) = 08d288b77f5450e920272738232c7c20be891772
+RMD160 (mysql-5.7.33.tar.gz) = b041f96c892083f03228eb2e4a24f05cce452f3f
+SHA512 (mysql-5.7.33.tar.gz) = 62349fdf2c2d9078ead383f150ccf52d719df9bb475e90910882595194f8038eb1b0333b2f5f153972a0b7309eab369a9f7d5178f2d71a12816e634df2be059b
+Size (mysql-5.7.33.tar.gz) = 56179381 bytes
SHA1 (patch-CMakeLists.txt) = 1409a98380c999c6973fa3106dc35684b7c3b3cc
SHA1 (patch-client_CMakeLists.txt) = 4af2fb3f3d05a66a9ee89f3653e2fcccadfa5f79
SHA1 (patch-client_completion_hash.cc) = b86ec80beac624b2aa21c7587e351ff126400ecb
@@ -38,6 +38,7 @@
SHA1 (patch-sql_CMakeLists.txt) = 697add15adb66bf55cf561a6e43e0bf514d1e068
SHA1 (patch-sql_conn__handler_socket__connection.cc) = 12cf83e061edbe59eb073037b1036903b7ba4b00
SHA1 (patch-sql_item__geofunc__internal.cc) = 752862c3a30231e694e508ced1a215a610649fc6
+SHA1 (patch-sql_locks_shared__spin__lock.cc) = 0fcdc9db76bb8a25c083e124334245f53cee871d
SHA1 (patch-sql_log_event.h) = 311dc7fb04ea832df229dc2a28bcfbf263670ebf
SHA1 (patch-sql_sys__vars.cc) = 202b8756c20549393d0e2a14952e1f060037b88a
SHA1 (patch-storage_archive_CMakeLists.txt) = 4cf5ed97a226a3844e184c46958b5202eefb9dd5
diff -r db76d3179a5d -r 38051b443e3b databases/mysql57-client/patches/patch-sql_locks_shared__spin__lock.cc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mysql57-client/patches/patch-sql_locks_shared__spin__lock.cc Thu Feb 04 20:26:10 2021 +0000
@@ -0,0 +1,19 @@
+$NetBSD: patch-sql_locks_shared__spin__lock.cc,v 1.1 2021/02/04 20:26:10 adam Exp $
+
+Fix buidling on Darwin.
+https://bugs.mysql.com/bug.php?id=102288
+
+--- sql/locks/shared_spin_lock.cc.orig 2021-02-04 09:40:46.000000000 +0000
++++ sql/locks/shared_spin_lock.cc
+@@ -239,7 +239,11 @@ lock::Shared_spin_lock &lock::Shared_spi
+ {
+ this->spin_exclusive_lock();
+ }
++#if defined(__APPLE__) || defined(__NetBSD__)
++ my_atomic_store64(&this->m_exclusive_owner, reinterpret_cast<int64>(self));
++#else
+ my_atomic_store64(&this->m_exclusive_owner, self);
++#endif
+ return (*this);
+ }
+
diff -r db76d3179a5d -r 38051b443e3b databases/mysql57-server/Makefile
--- a/databases/mysql57-server/Makefile Thu Feb 04 20:15:31 2021 +0000
+++ b/databases/mysql57-server/Makefile Thu Feb 04 20:26:10 2021 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.36 2021/01/01 08:24:39 ryoon Exp $
+# $NetBSD: Makefile,v 1.37 2021/02/04 20:26:10 adam Exp $
PKGNAME= ${DISTNAME:S/-/-server-/}
-PKGREVISION= 1
COMMENT= MySQL 5, a free SQL database (server)
CONFLICTS= mysql3-server-[0-9]*
diff -r db76d3179a5d -r 38051b443e3b databases/mysql57-server/PLIST
--- a/databases/mysql57-server/PLIST Thu Feb 04 20:15:31 2021 +0000
+++ b/databases/mysql57-server/PLIST Thu Feb 04 20:26:10 2021 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.19 2020/10/21 13:34:50 adam Exp $
+@comment $NetBSD: PLIST,v 1.20 2021/02/04 20:26:10 adam Exp $
bin/innochecksum
bin/lz4_decompress
bin/my_print_defaults
@@ -1598,6 +1598,7 @@
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_bugs.result
share/mysql/test/r/mysqldump_restore.result
share/mysql/test/r/mysqldumpslow.result
share/mysql/test/r/mysqlimport.result
@@ -9890,6 +9891,8 @@
share/mysql/test/suite/rpl/r/rpl_mts_slave_preserve_commit_order_deadlock.result
share/mysql/test/suite/rpl/r/rpl_mts_slave_preserve_commit_order_deadlock_error.result
share/mysql/test/suite/rpl/r/rpl_mts_slave_preserve_commit_order_error.result
+share/mysql/test/suite/rpl/r/rpl_mts_spco_deadlock_hang_on_non_temp_error.result
+share/mysql/test/suite/rpl/r/rpl_mts_spco_deadlock_slave_trans_retries_hang.result
share/mysql/test/suite/rpl/r/rpl_mts_stop_slave.result
share/mysql/test/suite/rpl/r/rpl_mts_stop_slave_report_pos.result
share/mysql/test/suite/rpl/r/rpl_mts_submode_switch.result
@@ -10118,8 +10121,11 @@
share/mysql/test/suite/rpl/r/rpl_semi_sync_group_commit_deadlock_ssl.result
share/mysql/test/suite/rpl/r/rpl_semi_sync_install_at_start_server.result
share/mysql/test/suite/rpl/r/rpl_semi_sync_non_group_commit_deadlock.result
+share/mysql/test/suite/rpl/r/rpl_semi_sync_optimize_for_static_plugin_config.result
+share/mysql/test/suite/rpl/r/rpl_semi_sync_sender_observe_commit_only.result
share/mysql/test/suite/rpl/r/rpl_semi_sync_shutdown_hang.result
share/mysql/test/suite/rpl/r/rpl_semi_sync_slave_compressed_protocol.result
+share/mysql/test/suite/rpl/r/rpl_semi_sync_turn_on_off_optimize_for_static_plugin_config.result
share/mysql/test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result
share/mysql/test/suite/rpl/r/rpl_semi_sync_wait_slave_count.result
share/mysql/test/suite/rpl/r/rpl_sequential.result
@@ -10702,6 +10708,8 @@
share/mysql/test/suite/rpl/t/rpl_mts_slave_preserve_commit_order_deadlock_error.test
share/mysql/test/suite/rpl/t/rpl_mts_slave_preserve_commit_order_error-slave.opt
share/mysql/test/suite/rpl/t/rpl_mts_slave_preserve_commit_order_error.test
+share/mysql/test/suite/rpl/t/rpl_mts_spco_deadlock_hang_on_non_temp_error.test
+share/mysql/test/suite/rpl/t/rpl_mts_spco_deadlock_slave_trans_retries_hang.test
share/mysql/test/suite/rpl/t/rpl_mts_stop_slave-slave.opt
share/mysql/test/suite/rpl/t/rpl_mts_stop_slave.test
share/mysql/test/suite/rpl/t/rpl_mts_stop_slave_report_pos-slave.opt
@@ -11069,12 +11077,22 @@
share/mysql/test/suite/rpl/t/rpl_semi_sync_non_group_commit_deadlock-master.opt
share/mysql/test/suite/rpl/t/rpl_semi_sync_non_group_commit_deadlock-slave.opt
share/mysql/test/suite/rpl/t/rpl_semi_sync_non_group_commit_deadlock.test
+share/mysql/test/suite/rpl/t/rpl_semi_sync_optimize_for_static_plugin_config-master.opt
+share/mysql/test/suite/rpl/t/rpl_semi_sync_optimize_for_static_plugin_config-slave.opt
+share/mysql/test/suite/rpl/t/rpl_semi_sync_optimize_for_static_plugin_config.test
+share/mysql/test/suite/rpl/t/rpl_semi_sync_sender_observe_commit_only-master.opt
+share/mysql/test/suite/rpl/t/rpl_semi_sync_sender_observe_commit_only-slave.opt
+share/mysql/test/suite/rpl/t/rpl_semi_sync_sender_observe_commit_only.test
share/mysql/test/suite/rpl/t/rpl_semi_sync_shutdown_hang-master.opt
share/mysql/test/suite/rpl/t/rpl_semi_sync_shutdown_hang-slave.opt
share/mysql/test/suite/rpl/t/rpl_semi_sync_shutdown_hang.test
share/mysql/test/suite/rpl/t/rpl_semi_sync_slave_compressed_protocol-master.opt
share/mysql/test/suite/rpl/t/rpl_semi_sync_slave_compressed_protocol-slave.opt
share/mysql/test/suite/rpl/t/rpl_semi_sync_slave_compressed_protocol.test
+share/mysql/test/suite/rpl/t/rpl_semi_sync_turn_on_off_optimize_for_static_plugin_config-master.opt
+share/mysql/test/suite/rpl/t/rpl_semi_sync_turn_on_off_optimize_for_static_plugin_config-slave.opt
+share/mysql/test/suite/rpl/t/rpl_semi_sync_turn_on_off_optimize_for_static_plugin_config.cnf
+share/mysql/test/suite/rpl/t/rpl_semi_sync_turn_on_off_optimize_for_static_plugin_config.test
share/mysql/test/suite/rpl/t/rpl_semi_sync_uninstall_plugin-master.opt
share/mysql/test/suite/rpl/t/rpl_semi_sync_uninstall_plugin-slave.opt
share/mysql/test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test
@@ -11923,6 +11941,8 @@
share/mysql/test/suite/sys_vars/r/relay_log_purge_basic.result
share/mysql/test/suite/sys_vars/r/relay_log_recovery_basic.result
share/mysql/test/suite/sys_vars/r/relay_log_space_limit_basic.result
+share/mysql/test/suite/sys_vars/r/replication_optimize_for_static_plugin_config.result
+share/mysql/test/suite/sys_vars/r/replication_sender_observe_commit_only.result
share/mysql/test/suite/sys_vars/r/report_host_basic.result
share/mysql/test/suite/sys_vars/r/report_password_basic.result
share/mysql/test/suite/sys_vars/r/report_port_basic.result
@@ -12685,6 +12705,9 @@
share/mysql/test/suite/sys_vars/t/relay_log_purge_basic.test
share/mysql/test/suite/sys_vars/t/relay_log_recovery_basic.test
share/mysql/test/suite/sys_vars/t/relay_log_space_limit_basic.test
+share/mysql/test/suite/sys_vars/t/replication_optimize_for_static_plugin_config-master.opt
+share/mysql/test/suite/sys_vars/t/replication_optimize_for_static_plugin_config.test
+share/mysql/test/suite/sys_vars/t/replication_sender_observe_commit_only.test
share/mysql/test/suite/sys_vars/t/report_host_basic.test
share/mysql/test/suite/sys_vars/t/report_password_basic.test
share/mysql/test/suite/sys_vars/t/report_port_basic.test
@@ -14138,6 +14161,7 @@
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_bugs.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