2019-10-15 23:08:07 by Amitai Schleier | Files touched by this commit (1) |
Log message:
Attempt to fix PLIST with default options.
|
2019-10-14 22:19:29 by Adam Ciarcinski | Files touched by this commit (10) | |
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.
|
2019-08-22 14:23:56 by Ryo ONODERA | Files touched by this commit (678) |
Log message:
Recursive revbump from boost-1.71.0
|
2019-08-11 15:25:21 by Thomas Klausner | Files touched by this commit (3557) |
Log message:
Bump PKGREVISIONs for perl 5.30.0
|
2019-08-06 08:56:43 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
mysql57: updated to 5.7.27
Changes in MySQL 5.7.27:
Keyring Notes
The keyring_aws plugin has been updated to use the latest AWS SDK and so that it \
works with OpenSSL 1.1.
Packaging Notes
Binary packages that include curl rather than linking to the system curl library \
now use curl 7.64.0.
X Plugin Notes
On Windows, X Plugin logged some messages that were unnecessary or \
insufficiently informative. The messages have been removed or improved as \
appropriate.
Functionality Added or Changed
Microsoft Windows: A new warning message now reminds DBAs that connections made \
using the MySQL named pipe on Windows has limited the permissions a connector \
can request on the named pipe.
Previously, the named_pipe_full_access_group system variable was set to a value \
that maps to the built-in Windows Everyone group (SID S-1-1-0) by default. \
However, this group is not ideal and should be replaced with a group that \
restricts its membership for connectors that are unable to request fewer \
permissions on the MySQL named pipe.
The new warning is written to the error log at startup if the string value \
assigned to named_pipe_full_access_group is '*everyone*' (or the Windows System \
Language equivalent) and named pipes are enabled. In addition, the warning is \
written to the error log and raised to the client if the system variable is \
reset to the Everyone group at runtime.
Bugs Fixed
InnoDB: Insufficient memory barriers in the rw-lock implementation caused \
deadlocks on ARM.
Thanks to Yibo Cai from Arm Technology for the contribution.
InnoDB: Manually changing the system time while the MySQL server was running \
caused page cleaner thread delays.
InnoDB: During log application, after an OPTIMIZE TABLE operation, InnoDB did \
not populate virtual columns before checking for virtual column index updates.
InnoDB: An INSERT operation involving a generated virtual BLOB column resulted a \
secondary index being updated with an incorrect value.
InnoDB: A full-text cache lock taken when data is synchronized was not released \
if the full-text cache size exceeded the full-text cache size limit.
InnoDB: Client sessions using different auto_increment_increment values while \
performing concurrent insert operations could cause a duplicate key error.
Partitioning: ALTER TABLE ... EXCHANGE PARTITION failed with the error Non \
matching attribute 'ROW_FORMAT' between partition and table when the partitioned \
table had partitions using different row formats, even when the partition to be \
exchanged used the same row format as the non-partitioned table.
Replication: The error message that is issued for a discrepancy between the \
number of group members and the auto-increment interval incorrectly referred to \
the group_replication_auto_increment_increment system variable, instead of the \
auto_increment_increment system variable. The value of auto_increment_increment \
is changed to the value specified by group_replication_auto_increment_increment \
when Group Replication starts, but only if auto_increment_increment and \
auto_increment_offset have their default values, and from MySQL 8.0, only in \
multi-primary mode. The value of auto_increment_increment was always the value \
that was checked for the error message, and it has now been corrected to give \
the accurate system variable name.
Replication: When events generated by one MySQL server instance were written to \
the binary log of another instance, the second server implicitly assumed that \
the first server supported the same number of binary log event types as itself. \
Where this was not the case, the event header was handled incorrectly. The issue \
has now been fixed. Thanks to Facebook for the contribution.
Replication: In Group Replication, joining members could wrongly identify \
themselves as incompatible with an existing replication group even if there were \
members at the same version already in the group, because they checked against \
all other members, including the member at the highest version. Joining members \
also included their own version in the compatibility check. Now, joining members \
only compare themselves with the existing group member at the lowest version, \
and do not count their own version.
Replication: If a FLUSH LOGS statement was issued before the binary log file was \
initialized, the statement attempted to write a binary log rotation event to the \
uninitialized file. The server now checks first that a binary log file is \
available.
Replication: When a MEMORY table is implicitly deleted on a master following a \
server restart, the master writes a DELETE statement to the binary log so that \
slaves also empty the table. This generated event now includes a comment in the \
binary log so that the reason for the DELETE statement is easy to identify. \
Thanks to Daniël van Eeden for the contribution.
Replication: With statement-based replication in use, if super_read_only was set \
to ON for a server at the point when a no-op transaction was between its UPDATE \
and COMMIT operations, the transaction was written to the binary log and \
assigned a GTID. The transaction is now blocked in this situation. From MySQL \
8.0, the value of super_read_only cannot be changed while a transaction is in \
progress.
Replication: The group communication engine for Group Replication (XCom, a Paxos \
variant) did not handle out of memory errors in an appropriate way. If memory \
could not be allocated to make a copy of the payload for a message, an error was \
logged but the message was still sent, with a null payload. The Group \
Communication System (GCS) on the receiving member discarded the message as \
empty, and the XCom instance on the receiving member accepted this action and \
did not retry, resulting in the message effectively being skipped. This caused \
the GTID set on the receiving member to diverge from the group, leading to \
replication errors. XCom now terminates gracefully if it experiences an out of \
memory error, so that this situation cannot occur.
Replication: In query log events in the binary log, the thread ID used for the \
execution of DROP TABLE and DELETE statements was identified incorrectly or not \
at all. On a multi-threaded replication slave, where temporary tables were \
involved (which require the correct thread ID as they are session specific), \
this omission resulted in errors when using mysqlbinlog to replay the binary log \
for point-in-time recovery. The thread ID is now set correctly.
Replication: When a slave server logs master status and connection information \
to a table (master_info_repository=TABLE), which is the default in MySQL 8.0, \
the mysql.slave_master_info table was not being updated on shutdown if the \
server was in super read only mode (super_read_only=ON). No error was written to \
the error log at this time, but replication failed after server startup because \
the master log file and master log position information was out of date. The \
thread that updates the master info log at shutdown is now excluded from \
read-only checks like other replication threads are, so it can update the table \
even if the server is in super read only mode. Error handling for a slave that \
is shutting down has also been improved so that any failure to write to the \
slave status logs results in an error in the error log.
An overly strict assertion could be raised during sorting of stored program \
local objects.
Installing from RPM packages could result in an error log with incorrect permissions.
Enabling audit log encryption could cause a server exit.
On Debian and Ubuntu, MySQL packages did not enable mysql.service after upgrades \
from native MySQL packages.
The server did not properly close shared-memory connections when an error \
occurred, which could result in unexpected server behavior.
MySQL Installer did not install OpenSSL DLL dependencies if the Development \
component was not selected.
The parser could leak memory for certain multiple-statement queries.
CREATE USER and ALTER USER did not check the validity of a hashed authentication \
string when used with IDENTIFIED WITH auth_plugin AS 'hash_string' syntax.
For InnoDB tables that contained an index on a VARCHAR column and were created \
prior to MySQL 5.7.23, some simple ALTER TABLE statements that should have been \
done in place were performed with a table rebuild after an upgrade to MySQL \
5.7.23 or higher.
HANDLER statements did not always work correctly with tables having generated \
columns.
Session-tracking information in the client/server protocol could be mishandled.
With the PAD_CHAR_TO_FULL_LENGTH SQL mode enabled, password changes failed, with \
no warning or error reported.
The audit_log plugin did not log UNINSTALL PLUGIN audit_log statements.
audit_log filtering operations could leak memory.
An index defined on a virtual generated column could fail to be updated if the \
column had a base column in a foreign key relationship.
Privileges for dropping some Performance Schema tables were checked incorrectly.
A query that employed a derived table which included an ORDER BY was not always \
handled correctly.
Base columns were not excluded from index-only access by a generated column.
A thread pool group could be blocked when a thread process tick time exceeded \
the maximum permitted value. The tick time now uses a larger data type to permit \
larger values.
MySQL does not support OpenSSL session tickets, but did not set the \
SSL_OP_NO_TICKET flag to inform OpenSSL of that. The flag is now set.
The audit_null plugin did not properly check for a null event record.
UpdateXML() did not always free memory properly in certain cases.
Empty values in the name column of the mysql.plugin system table caused the \
server to exit during startup.
With the thread_pool plugin enabled, the Performance Schema status_by_thread \
table contained no data.
If an INSTALL PLUGIN statement contained invalid UTF-8 characters in the shared \
library name, it caused the server to hang (or to raise an assertion in debug \
builds).
Inner tables of different semijoin nests were interleaved during \
materialization, which could lead to a different result for the same query when \
it used a different query plan. To keep this from occurring, a check is added to \
prevent such interleaving.
A query involving GROUP BY on a TIMESTAMP column resulted in a duplicate entry \
for key (ER_DUP_ENTRY) error. This problem arose when TIMESTAMP values were \
inserted into a table using a given setting for the time zone and these values \
were later fetched after the time zone setting had been changed, such that at \
least some of the inserted TIMESTAMP values occurred during the hour that the \
time changed from standard to daylight time (DST) in the new time zone, during \
which time the same TIMESTAMP value can exist twice. Now, when the server would \
otherwise return the error DUPLICATE ENTRY FOR KEY 'group_key', if the grouping \
involves a TIMESTAMP column, it instead raises the error Grouping on temporal is \
non-deterministic for time zones having DST. Please consider switching to UTC \
for this query.
In addition, it is suggested to set explicit_defaults_for_timestamp to ON as \
well as one or more of MODE_NO_ZERO_IN_DATE, MODE_NO_ZERO_DATE, or \
MODE_INVALID_DATES as part of the server SQL mode to help avoid this issue.
|
2019-07-01 06:08:55 by Ryo ONODERA | Files touched by this commit (669) |
Log message:
Recursive revbump from boost-1.70.0
|
2019-05-05 14:12:14 by Sebastian Wiedenroth | Files touched by this commit (3) |
Log message:
mysql57: use pkgsrc libevent
|
2019-04-30 19:20:23 by David Brownlee | Files touched by this commit (8) |
Log message:
Bump PKGREVISION for addition of USE_GCC_RUNTIME
|
2019-04-25 12:13:04 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
mysql57: updated to 5.7.26
mysql-5.7.26:
Unknown changes
|
2019-02-05 21:19:55 by Adam Ciarcinski | Files touched by this commit (8) | |
Log message:
mysql57-{client,server}: updated to 5.7.25
Changes in MySQL 5.7.25
Deprecation and Removal Notes
The resolveip and resolve_stack_dump utilities are now deprecated and will be \
removed in MySQL 8.0. nslookup, host, or dig can be used instead of resolveip. \
Stack traces from official MySQL builds are always symbolized, so there is no \
need to use resolve_stack_dump.
Pluggable Authentication
If the LDAP port number is configured as 636 or 3269, the plugin now uses LDAPS \
(LDAP over SSL) instead of LDAP. The port number is settable using the \
authentication_ldap_sasl_server_port or authentication_ldap_simple_server_port \
system variable. (LDAPS differs from startTLS.)
Previously, for LDAP authentication with proxying, LDAP authentication plugins \
used the first group name returned by the LDAP server as the MySQL proxy user \
account name. The authentication string for a MySQL account now can specify a \
list of groups to match, in preference order, and can optionally map the \
matching group name to a specified MySQL proxy user name. See LDAP Pluggable \
Authentication.
Security Notes
The linked OpenSSL library for the MySQL Commercial Server has been updated to \
version 1.0.2q. Issues fixed in the new OpenSSL version are described at \
http://www.openssl.org/news/vulnerabilities.html.
This change does not affect the Oracle-produced MySQL Community build of MySQL \
Server, which uses the yaSSL library instead.
Functionality Added or Changed
Microsoft Windows: The access control granted to clients on the named pipe \
created by the MySQL server now is set to the minimum necessary for successful \
communication on Windows. Newer MySQL client software can open named pipe \
connections without any additional configuration. If older client software \
cannot be upgraded immediately, the new named_pipe_full_access_group server \
system variable can be used to give a Windows group the necessary permissions to \
open a named pipe connection. Membership in the full-access group should be \
restricted and temporary.
Bugs Fixed
InnoDB: A dangling pointer caused a memory leak.
InnoDB: An ON DELETE CASCADE operation on table with a foreign key constraint \
and an indexed virtual column caused the server to exit.
InnoDB: An incorrectly written DML log involving a virtual column value raised \
an assertion.
InnoDB: Using the O_DIRECT_NO_FSYNC innodb_flush_method setting could cause the \
system to hang due to file system metadata becoming unsynchronized. To prevent \
this issue from occurring in O_DIRECT_NO_FSYNC mode, InnoDB now calls fsync() \
after creating a new file, after increasing file size, and after closing a file. \
The fsync() system call is still skipped after each write operation.
With the changes described above, O_DIRECT_NO_FSYNC mode can now be safely used \
on EXT4 and XFS file systems.
InnoDB: An assertion was raised when attempting to write to a tablespace file \
greater than 4GB in size on a 64-bit Windows system. The failure was due to a \
narrowing cast.
Partitioning: Repeated ALTER TABLE statements on partitioned tables containing \
BLOB or TEXT columns were not always handled correctly.
Partitioning: ALTER TABLE ... EXCHANGE PARTITION did not work when the \
partitioned table had one or more partition definitions using the DATA DIRECTORY \
option. This fix supports partitioned tables using the InnoDB storage engine \
only.
Replication: A patch to correct the handling of quotes for identifiers in \
ROLLBACK TO SAVEPOINT statements in the binary log was not correctly applied to \
subsequent MySQL versions.
Replication: Following a patch in MySQL 5.7.23, LOAD DATA statements stopped \
statement-based replication from a MySQL 5.7.22 master to a replication slave at \
a later release. The problem has now been fixed.
Replication: In some circumstances, the CHANGE MASTER TO statement could not be \
used on a replication slave if the master info log had been changed from a table \
(master_info_repository=TABLE) into a file (master_info_repository=FILE).
Replication: When the system variables binlog_transaction_dependency_tracking \
and binlog_transaction_dependency_history_size were set or read, the types of \
lock that were required could result in a deadlock scenario, because the same \
locks were also required for working with the active binary logs. A new lock \
type is now used instead for access to the transaction dependency tracking \
system variables, so that this deadlock cannot occur.
Replication: The PURGE BINARY LOGS TO 'log_name' statement failed for binary log \
files that had been moved to another location using mysqlbinlogmove. Such files \
are still listed in the binary log index file, but they are listed using an \
absolute path, rather than a path relative to the directory where the binary log \
files are normally stored. MySQL Server can now locate and purge moved binary \
log files successfully.
Replication: If autocommit was set to 0 for a replication slave or Group \
Replication group member where GTIDs were in use and super_read_only=ON was set, \
server shutdown was prevented by a transaction that did not complete. The \
transaction was attempting to save GTIDs to the mysql.gtid_executed table, but \
the update failed because super_read_only=ON was set. (With autocommit set to 1, \
the transaction would complete in this situation, and the mysql.gtid_executed \
table would instead be updated at server startup.) Now, the check for the \
super_read_only setting is skipped for this task, so the transaction is able to \
save the GTIDs to the mysql.gtid_executed table and complete regardless of the \
combination of super_read_only and autocommit settings.
Replication: An assertion was raised in debug builds if an XA ROLLBACK statement \
was issued for an unknown transaction identifier when the gtid_next value had \
been set manually. The server now does not attempt to update the GTID state if \
an XA ROLLBACK statement fails with an error.
Replication: The value returned by a SHOW SLAVE STATUS statement for the total \
combined size of all existing relay log files (Relay_Log_Space) could become \
much larger than the actual disk space used by the relay log files. The I/O \
thread did not lock the variable while it updated the value, so the SQL thread \
could automatically delete a relay log file and write a reduced value before the \
I/O thread finished updating the value. The I/O thread then wrote its original \
size calculation, ignoring the SQL thread's update and so adding back the space \
for the deleted file. The Relay_Log_Space value is now locked during updates to \
prevent concurrent updates and ensure an accurate calculation.
Replication: If the relay log index file was temporarily locked for viewing by a \
backup process for a replication slave, and MySQL Server also attempted to \
access the file at that time for rename or delete operations, the backup \
completed with warnings, but MySQL Server experienced an unexpected halt. MySQL \
Server now retries the file access operation a number of times in case this or a \
similar scenario is the explanation and the file becomes available again before \
long.
Replication: With sync_binlog=1 set, if the binary log was rotated during a \
commit before the binary log end position was updated, replication stopped on \
the slave because the server attempted to use the old binary log end position \
with the new binary log file. The server now compares the binary log file name \
with the active binary log file when updating the binary log end position, so \
that the issue does not occur.
Replication: When adding a new member to a group, if the certification \
information was too big to transmit, an event was generated that caused failures \
in all group members. To avoid this situation, now if the certification \
information is too large an error is generated which makes the joining member \
leave the group.
Replication: When stopping replication, any channels that had pending \
transactions could cause a deadlock in Group Replication.
The keyring_aws plugin was missing from Commercial packages for macOS.
The supported macOS versions for this plugin now are macOS 10.13 and 10.14.
MySQL Enterprise Firewall did not work well if the audit_log plugin was installed.
The server permitted creation of databases with the same name as redo log files, \
which could result in unexpected server behavior. Such names are no longer \
permitted as database names.
Removal of Sun RPC and XDR from glibc into a separate libtirpc library caused \
problems with libasan on some platforms.
In LDAP group search filter values, special characters were not escaped. Special \
characters in the user DN now are escaped with their hexadecimal equivalant as \
follows:
* => \2a
( => \28
) => \29
\ => \5c
\0 => \00
A memory leak was caused by GET_LOCK() calls with a zero timeout that failed due \
to concurrent connections holding the same user-level lock.
mysqlpump did not free all allocated resources when it encountered an error, \
resulting in memory leaks.
For debug builds, the server could exit when attempting to roll back CREATE USER \
statements.
Mishandling of deprecated system variables could cause output from queries on \
the Performance Schema variables_by_thread table to be incorrect.
When a subquery contained a UNION, the count of the number of subquery columns \
was calculated incorrectly.
On a GTID-enabled server, concurrent statements on the \
INFORMATION_SCHEMA.COLUMNS table could deadlock.
Comparing log file names as strings using the memcmp() function resulted in \
uninitialized memory read errors. The comparison now uses the strncmp() \
function. Thanks to Zsolt Parragi and Laurynas Biveinis for their contributions.
The optimizer skipped the second column in a composite index when executing an \
inner join with a LIKE clause against the second column.
CREATE TABLE ... SELECT could create date columns with “zero” date default \
values when it should have created them without a default value.
The transformation of IN subquery predicates into semijoins was not handled \
correctly for a very large number of tables.
Server mishandling of SIGHUP signals could result in a server exit.
When the character set of one string comparison operand was a superset of the \
character set of the other operand, some comparisons were disallowed that should \
be permitted by converting the operand with the “smaller” character set to \
the “larger” character set. utf8mb4 and utf32 are considered to be a \
superset of any other encoding.
Improper memory handling by account management statements could result in server \
misbehavior.
Executing a prepared statement to do a multiple-row insert with large number of \
placeholders consumed excessive memory and could execute slowly.
The parser accepted invalid SET statement syntax in trigger definitions that \
could result in a server exit.
The server failed to start if the keyring_encrypted_file plugin keyring file was \
invalid.
Keyring migration failed with source and destination keyring plugins of \
keyring_okv and keyring_encrypted_file, respectively.
When executing a prepared statement with a procedure call with the \
CURSOR_TYPE_READ_ONLY flag set, the client library hung if the procedure \
performed a SELECT that returned an empty result set.
The parser performed some out-of-memory checks incorrectly.
When binlog_format is ROW or MIXED, operations on temporary tables are not \
logged. Previously, the exception to this rule was that when the connection was \
terminated at the end of the session, the statement DROP TEMPORARY TABLE IF \
EXISTS was logged for any temporary tables that had been opened in the session. \
For row-based replication, this behavior caused an unnecessary write to the \
binary log, and added a transaction sequence number for the GTID where these \
were enabled.
Now, when a temporary table is created in a session, the binary logging format \
is tracked. The DROP TEMPORARY TABLE IF EXISTS statement is only logged at the \
end of the session if statement-based format was in effect when the temporary \
table was created, so the CREATE TEMPORARY TABLE statement was logged. If \
row-based or mixed-format binary logging was in use when the table was created, \
the DROP TEMPORARY TABLE IF EXISTS statement is not logged.
Thanks to Laurynas Biveinis for the patch.
DML statements using IGNORE were not always handled correctly on tables having \
generated columns.
A query employing a dynamic range and an index merge could use more memory than \
expected.
|