Subject: CVS commit: pkgsrc/databases
From: Adam Ciarcinski
Date: 2019-10-14 22:19:29
Message id: 20191014201929.E3C29FBF4@cvs.NetBSD.org

Log Message:
mysql57: updated to 5.7.28

Changes in MySQL 5.7.28

Configuration Notes

It is now possible to compile MySQL 5.7 using OpenSSL 1.1.1, enabling \ 
compilation support for MySQL 5.7 against OpenSSL even when OpenSSL 1.0.2 \ 
reaches End of Life status at the end of 2019.

All MySQL 5.7 builds now use OpenSSL. MySQL no longer supports using yaSSL as \ 
the SSL library, and source distributions no longer include yaSSL.

The WITH_SSL CMake option no longer permits bundled (use yaSSL) as a valid \ 
value, and the default option value has changed from bundled to system (use the \ 
version of OpenSSL installed on the host system).

sys Schema Notes

The sys.schema_unused_indexes view now filters out unique indexes.

The sys.ps_is_consumer_enabled() function now produces an error rather than \ 
returning NULL if the argument is an unknown non-NULL consumer name.

Previously, sys schema sources were maintained in a separate Git repository. sys \ 
schema sources now are included with and maintained within MySQL source \ 
distributions (under scripts/sys_schema).

The sys.version view is deprecated and will be removed in a future MySQL \ 
version. Affected applications should be adjusted to use an alternative instead. \ 
For example, use the VERSION() function to retrieve the MySQL server version.

Bugs Fixed

InnoDB: An ALTER TABLE ... ENCRYPTION = 'Y' operation on a MyISAM table failed \ 
to raise an error indicating that the storage engine does not support \ 
encryption. The INPLACE algorithm did not check encryption support before \ 
updating metadata in the .frm file. To address this issue, an encryption support \ 
flag was added. The ALTER TABLE ... ENCRYPTION = 'Y' operation now checks the \ 
flag and reports an error if the storage engine does not support encryption.

InnoDB: Delete marked rows were able to acquire an external read lock before a \ 
partial rollback was completed. The external read lock prevented conversion of \ 
an implicit lock to an explicit lock during the partial rollback, causing an \ 
assertion failure.

InnoDB: A long running ALTER TABLE ... ADD INDEX operation with concurrent \ 
inserts caused semaphore waits.

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.

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.

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.

When generating C source from SQL scripts, Some utf8-encoded characters were \ 
split across lines. Thanks to Przemysław Skibiński for the patch.

For Solaris, mysqld.cc contained a prototype for memcntl() that is no longer \ 
needed. The prototype has been removed.

For Solaris, -DWITH_SSL=system did not work when compiling with GCC.

MySQL builds configured with -DWITHOUT_SERVER=1 failed.

For the keyring_aws plugin, some valid region values for the keyring_aws_region \ 
system variable were rejected.

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).

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.

mysqlpump produced an error when run against a server older than MySQL 5.7.

A possible integer overflow due to unsigned integer type casting could lead to \ 
later buffer overflow due to arbitrary size memory allocation.

Attempted use of a freed object during MeCab plugin initialization caused a \ 
segmentation fault.

For MySQL installed using RPM packages, an initialization script that tested \ 
server connectivity misbehaved if the client account authenticated using an LDAP \ 
authentication plugin.

Improper locking during storage engine initialization could cause a server exit.

On a GTID-enabled server, concurrent execution of DROP USER and a prepared \ 
statement that accessed a view could deadlock.

A query with a WHERE clause whose predicate contained a numeric value in \ 
scientific notation was not handled correctly.

VS2019 produced compilation errors with debug compilation selected due to use of \ 
the /ZI flag. Now /Z7 is used instead.

The client library could dereference a null pointer while fetching result set \ 
metadata from the server.

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.

Arguments for the TIMESTAMPADD() function could be reversed for prepared statements.

With the thread_pool plugin enabled, the sys.processlist and sys.session views \ 
displayed a thread name rather than the actual user name.

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.

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.

MySQL Enterprise Encryption functions could apply Diffie-Hellman (DH) methods to \ 
non-DH keys, resulting in unpredictable results or server exit.

Password masking was incomplete for SHOW PROCESSLIST and some INFORMATION_SCHEMA \ 
and Performance Schema tables.

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.

Files:
RevisionActionfile
1.27modifypkgsrc/databases/mysql57-client/Makefile
1.21modifypkgsrc/databases/mysql57-client/Makefile.common
1.15modifypkgsrc/databases/mysql57-client/PLIST
1.32modifypkgsrc/databases/mysql57-client/distinfo
1.3modifypkgsrc/databases/mysql57-client/patches/patch-client_CMakeLists.txt
1.4modifypkgsrc/databases/mysql57-client/patches/patch-libmysql_CMakeLists.txt
1.4modifypkgsrc/databases/mysql57-client/patches/patch-mysys__ssl_CMakeLists.txt
1.6modifypkgsrc/databases/mysql57-client/patches/patch-rapid_plugin_x_CMakeLists.txt
1.27modifypkgsrc/databases/mysql57-server/Makefile
1.14modifypkgsrc/databases/mysql57-server/PLIST