Up to [cvs.NetBSD.org] / pkgsrc / databases / mysql56-client
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
mysql* 5.6, 5.7: remove As proposed on pkgsrc-users on July 26. These versions are unsupported by upstream since 2018 and 2020 respectively.
*: bump for openssl 3
*: recursive bump for perl 5.36
*: recursive bump for perl 5.34
mysql56: updated to 5.6.51 Changes in MySQL 5.6.51 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. Bugs Fixed InnoDB: The full-text search synchronization thread attempted to read a previously-freed word from the index cache. The server did not handle all cases of the WHERE_CONDITION optimization correctly. Privileges for some INFORMATION_SCHEMA tables were checked incorrectly. In certain cases, the server did not handle multiply-nested subqueries correctly. A buffer overflow in the client library was fixed.
Update MySQL 5.6 to 5.6.50. Note that the 5.6 series will be end of life in February 2021. The current major version is 8.0, which isn't in pkgsrc yet. You CAN NOT upgrade directly from 5.6 to 8.0, therefore it is recommended for anybody running 5.6 to upgrade to this version, then upgrade to 5.7. Changes in MySQL 5.6.50 (2020-10-19, General Availability) Functionality Added or Changed LOCK TABLES privilege checking for views was improved. (Bug #31304432) Bugs Fixed InnoDB: In session started with START TRANSACTION WITH CONSISTENT SNAPSHOT, a range query returned a truncated result. The end range flag was not reset at the beginning of the index read resulting in an aborted read and missing rows. (Bug #30950714, Bug #98642) References: This issue is a regression of: Bug #23481444. In bootstrapping mode, certain multiple-statement transactions could cause unexpected server behavior. (Bug #31650096) Assigning CONCAT('') or CONCAT_WS('') to a variable set the variable to NULL, not the empty string. (Bug #31320716, Bug #99485, Bug #31413167, Bug #99722) ORDER BY queries were not executed correctly when sort_buffer_size and max_sort_length were set to values which caused the internal limit on the maximum number of keys allowed per sort buffer to be set to 0. (Bug #30175483) The internal method Field_tiny::pack() did not always perform bounds checking as expected. (Bug #29948029) References: See also: Bug #31591391. A large number of nested arguments in full-text search query caused an error. (Bug #29929684) An assertion could be raised when the SQL layer passed incorrect information to InnoDB about the type of operation to be performed on a temporary table. (Bug #22503696)
*: bump PKGREVISION for perl-5.32.
mysql56: updated to 5.6.47 Changes in MySQL 5.6.47: Bugs Fixed Replication: When GTIDs are enabled on a replication master and slave, and the slave connects to the master with the MASTER_AUTO_POSITION=1 option set, the master must send the slave all the transactions that the slave has not already received, committed, or both. If any of the transactions that should be sent by the master have been already purged from the master's binary log, the master sends the error ER_MASTER_HAS_PURGED_REQUIRED_GTIDS (1789) to the slave, and replication does not start. The message provided for the error ER_MASTER_HAS_PURGED_REQUIRED_GTIDS has been changed to provide advice on the correct action in this situation, which is for the slave to replicate the missing transactions from another source, or for the slave to be replaced by a new slave created from a more recent backup. The message advises that the master's binary log expiration period can be revised to avoid the situation in future. In addition, the master now identifies the GTIDs of the purged transactions and supplies them in its error log in the warning message ER_FOUND_MISSING_GTIDS (11809), so that you do not need to calculate the missing GTIDs manually. With multiple sessions executing concurrent INSERT ... ON DUPLICATE KEY UPDATE statements into a table with an AUTO_INCREMENT column but not specifying the AUTO_INCREMENT value, inserts could fail with a unique index violation. A SELECT using a WHERE condition of the form A AND (B OR C [OR ...]) resulting in an impossible range led to an unplanned exit of the server. An incomplete connection packet could cause clients not to properly initialize the authentication plugin name.
*: Recursive revision bump for openssl 1.1.1.
mysql56: updated to 5.6.46 Changes in MySQL 5.6.46 Configuration Notes It is now possible to compile MySQL 5.6 using OpenSSL 1.1.1, enabling compilation support for MySQL 5.6 against OpenSSL even when OpenSSL 1.0.2 reaches End of Life status at the end of 2019. In addition, MySQL 5.6 now supports TLSv1.1 and TLSv1.2 protocols for encrypted connections. This applies to MySQL Server, MySQL clients such as mysql and mysqldump, and master/slave replication. Previously, MySQL 5.6 supported only TLSv1, so TLSv1.1/TLSv1.2 support enables use of more secure TLS protocols. It also enables connecting from MySQL 5.6 clients and replication slaves to MySQL 5.7 and higher servers that have TLSv1 disabled, which previously was not possible. It also means that MySQL 5.7 and higher clients that do not want to use TLSv1 can connect to MySQL 5.6 servers. All MySQL 5.6 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). Bugs Fixed Improper locking during storage engine initialization could cause a server exit. 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. 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.
Pullup ticket #6028 - requested by taca databases/mysql56-client: security fix Revisions pulled up: - databases/mysql56-client/Makefile 1.31 - databases/mysql56-client/Makefile.common 1.52 - databases/mysql56-client/distinfo 1.52-1.53 - databases/mysql56-client/patches/patch-include_m__string.h 1.1 - databases/mysql56-client/patches/patch-include_my_net.h 1.2 - databases/mysql56-client/patches/patch-mysys__ssl_my__aes__openssl.cc 1.1 - databases/mysql56-client/patches/patch-sql-common_client__authentication.cc deleted - databases/mysql56-client/patches/patch-sql_mysqld.cc 1.5 - databases/mysql56-client/patches/patch-sql_rpl__slave.cc 1.3 - databases/mysql56-client/patches/patch-storage_innobase_include_univ.i 1.1 - databases/mysql56-client/patches/patch-vio_vio.c 1.3 - databases/mysql56-client/patches/patch-vio_viosslfactories.c 1.3 - databases/mysql56-server/Makefile 1.38 --- Module Name: pkgsrc Committed By: adam Date: Tue Aug 6 06:55:15 UTC 2019 Modified Files: pkgsrc/databases/mysql56-client: Makefile Makefile.common distinfo pkgsrc/databases/mysql56-server: Makefile Removed Files: pkgsrc/databases/mysql56-client/patches: patch-sql-common_client__authentication.cc Log Message: mysql56: updated to 5.6.45 Changes in MySQL 5.6.45: 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: A query that scanned the primary key of a table did not return the expected result. 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. 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. Installing from RPM packages could result in an error log with incorrect permissions. Enabling audit log encryption could cause a server exit. 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. 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. 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. Some PROXY grants were not replicated to slaves, causing incorrect replication. 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). --- Module Name: pkgsrc Committed By: taca Date: Fri Sep 6 10:01:44 UTC 2019 Modified Files: pkgsrc/databases/mysql56-client: distinfo pkgsrc/databases/mysql56-client/patches: patch-include_my_net.h Added Files: pkgsrc/databases/mysql56-client/patches: patch-include_m__string.h patch-mysys__ssl_my__aes__openssl.cc patch-sql_mysqld.cc patch-sql_rpl__slave.cc patch-storage_innobase_include_univ.i patch-vio_vio.c patch-vio_viosslfactories.c Log Message: databases/mysql56-client: allow build with OpenSSL 1.1.x * Allow mysql56-{client,server} build with OpenSSL 1.1.x. * Reduce a few useless warnings.
Bump PKGREVISIONs for perl 5.30.0
mysql56: updated to 5.6.45 Changes in MySQL 5.6.45: 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: A query that scanned the primary key of a table did not return the expected result. 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. 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. Installing from RPM packages could result in an error log with incorrect permissions. Enabling audit log encryption could cause a server exit. 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. 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. 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. Some PROXY grants were not replicated to slaves, causing incorrect replication. 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).
Bump PKGREVISION for addition of USE_GCC_RUNTIME
mysql56-{client,server}: updated to 5.6.43 Changes in MySQL 5.6.43: 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 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: 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: 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. 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. When a subquery contained a UNION, the count of the number of subquery columns was calculated incorrectly. 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 transformation of IN subquery predicates into semijoins was not handled correctly for a very large number of tables. 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. MyISAM index corruption could occur for bulk-insert and table-repair operations that involve the repair-by-sorting algorithm and many (more than 450 million) rows. A query employing a dynamic range and an index merge could use more memory than expected.
Pullup ticket #5900 - requested by maya databases/mysql55-client: security fix databases/mysql56-client: security fix databases/mysql57-client: security fix Revisions pulled up: - databases/mysql55-client/Makefile 1.32 - databases/mysql55-client/distinfo 1.63 - databases/mysql55-client/patches/patch-CMakeLists.txt 1.7 - databases/mysql55-client/patches/patch-cmake_build__configurations_mysql__release.cmake 1.1 - databases/mysql55-client/patches/patch-sql_sys__vars.cc 1.1 - databases/mysql56-client/Makefile 1.28 - databases/mysql56-client/distinfo 1.49 - databases/mysql56-client/patches/patch-CMakeLists.txt 1.6 - databases/mysql56-client/patches/patch-cmake_build__configurations_mysql__release.cmake 1.1 - databases/mysql56-client/patches/patch-sql_sys__vars.cc 1.3 - databases/mysql57-client/Makefile 1.19 - databases/mysql57-client/distinfo 1.27 - databases/mysql57-client/patches/patch-CMakeLists.txt 1.2 - databases/mysql57-client/patches/patch-cmake_build__configurations_mysql__release.cmake 1.1 - databases/mysql57-client/patches/patch-sql_sys__vars.cc 1.1 --- Module Name: pkgsrc Committed By: maya Date: Sun Jan 20 18:03:25 UTC 2019 Modified Files: pkgsrc/databases/mysql55-client: Makefile distinfo pkgsrc/databases/mysql55-client/patches: patch-CMakeLists.txt Added Files: pkgsrc/databases/mysql55-client/patches: patch-cmake_build__configurations_mysql__release.cmake patch-sql_sys__vars.cc Log Message: mysql55-client: change the default configuration to avoid information disclosure to a malicious server. Backport of upstream commit: https://github.com/mysql/mysql-server/commit/98ed3d8bc8ad724686d26c7bf98dced3bd1777be Exploit method described here: https://gwillem.gitlab.io/2019/01/17/adminer-4.6.2-file-disclosure-vulnerability/ --- Module Name: pkgsrc Committed By: maya Date: Sun Jan 20 18:04:49 UTC 2019 Modified Files: pkgsrc/databases/mysql56-client: Makefile distinfo pkgsrc/databases/mysql56-client/patches: patch-CMakeLists.txt Added Files: pkgsrc/databases/mysql56-client/patches: patch-cmake_build__configurations_mysql__release.cmake patch-sql_sys__vars.cc Log Message: mysql56-client: change the default configuration to avoid information disclosure to a malicious server. Backport of upstream commit: https://github.com/mysql/mysql-server/commit/98ed3d8bc8ad724686d26c7bf98dced3bd1777be Exploit method described here: https://gwillem.gitlab.io/2019/01/17/adminer-4.6.2-file-disclosure-vulnerability/ --- Module Name: pkgsrc Committed By: maya Date: Sun Jan 20 18:22:10 UTC 2019 Modified Files: pkgsrc/databases/mysql57-client: Makefile distinfo pkgsrc/databases/mysql57-client/patches: patch-CMakeLists.txt Added Files: pkgsrc/databases/mysql57-client/patches: patch-cmake_build__configurations_mysql__release.cmake patch-sql_sys__vars.cc Log Message: mysql57-client: change the default configuration to avoid information disclosure to a malicious server. Backport of upstream commit: https://github.com/mysql/mysql-server/commit/98ed3d8bc8ad724686d26c7bf98dced3bd1777be Exploit method described here: https://gwillem.gitlab.io/2019/01/17/adminer-4.6.2-file-disclosure-vulnerability/
mysql56-client: change the default configuration to avoid information disclosure to a malicious server. Backport of upstream commit: https://github.com/mysql/mysql-server/commit/98ed3d8bc8ad724686d26c7bf98dced3bd1777be Exploit method described here: https://gwillem.gitlab.io/2019/01/17/adminer-4.6.2-file-disclosure-vulnerability/
mysql56: updated to 5.6.42 Changes in MySQL 5.6.42 Functionality Added or Changed * Previously, file I/O performed in the I/O cache in the mysys library was not instrumented, affecting in particular file I/O statistics reported by the Performance Schema about the binary log index file. Now, this I/O is instrumented and Performance Schema statistics are accurate. Thanks to Yura Sorokin for the contribution. * The zlib library version bundled with MySQL was raised from version 1.2.3 to version 1.2.11. MySQL implements compression with the help of the zlib library. * The zlib compressBound() function in zlib 1.2.11 returns a slightly higher estimate of the buffer size required to compress a given length of bytes than it did in zlib version 1.2.3. The compressBound() function is called by InnoDB functions that determine the maximum row size permitted when creating compressed InnoDB tables or inserting rows into compressed InnoDB tables. As a result, CREATE TABLE ... ROW_FORMAT=COMPRESSED or INSERT operations with row sizes very close to the maximum row size that were successful in earlier releases could now fail. Bugs Fixed * InnoDB: An ALTER TABLE operation that added a primary key produced a segmentation fault. * InnoDB: An assertion was raised during an OPTIMIZE TABLE operation. * InnoDB: A foreign key constraint name was duplicated during a rename table operation, causing a failure during later query execution. * InnoDB: The location of the Innodb Merge Temp File that reported by the wait/io/file/innodb/innodb_temp_file Performance Schema instrument was incorrect. * Replication: When FLUSH statements for specific log types (such as FLUSH SLOW LOGS) resulted in an error, the statements were still written to the binary log. This stopped replication because the error had occurred on the master, but did not occur on the slave. MySQL Server now checks on the outcome of these FLUSH statements, and if an error occurred, the statement is not written to the binary log. * Microsoft Windows: On Windows, uninstallation of the MySQL Server MSI package through MySQL Installer produced a spurious popup window. * Concurrent INSERT and SELECT statements on a MERGE table could result in a server exit. * MySQL Server and test RPM packages were missing perl-Data-Dumper as a dependency. * For the mysql client, the -b short option was associated with two long options, --no-beep and --binary-as-hex. The -b option now is associated only with --no-beep. * Very long table keys were handled incorrectly on replication slaves. * During server startup/shutdown, PID files could be mishandled. * For MEMORY tables, memory overflow errors could occur. * When converting from a BLOB (or TEXT) type to a smaller BLOB (or TEXT) type, no warning or error was reported informing about the truncation or data loss. Now an appropriate error is issued in strict SQL mode and a warning in nonstrict SQL mode. * Failure to create a temporary table during a MyISAM query could cause a server exit. Thanks to Facebook for the patch. * An attempted read of an uncommitted transaction raised an assertion. * ALTER TABLE ... REORGANIZE PARTITION ... could result in incorrect behavior if any partition other than the last was missing the VALUES LESS THAN part of the syntax. * yum update did not properly update from RHEL5 RPM packages to current packages. * It was possible for a subquery that used a unique key on a column allowing NULL to return multiple rows.
Recursive bump for perl5-5.28.0
Pullup ticket #5525 - requested by taca databases/mysql56-client: security update databases/mysql56-server: security update Revisions pulled up: - databases/mysql55-client/Makefile 1.25 - databases/mysql55-client/Makefile.common 1.41 - databases/mysql55-client/distinfo 1.43 - databases/mysql55-server/Makefile 1.33 - databases/mysql55-server/PLIST 1.30 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: adam Date: Wed Jul 19 18:48:22 UTC 2017 Modified Files: pkgsrc/databases/mysql55-client: Makefile Makefile.common distinfo pkgsrc/databases/mysql55-server: Makefile PLIST pkgsrc/databases/mysql56-client: Makefile Makefile.common distinfo pkgsrc/databases/mysql56-server: Makefile PLIST Log Message: Security Notes * Security Fix: The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2l. 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. Platform-Specific Notes * Linux: The generic Linux build for MySQL 5.6 is now built on Oracle Linux 6 using glibc 2.12. Systems that use the build need to have glibc 2.12 or later installed on them. Functionality Added or Changed * For Windows, MSI installer packages now include a check for the required Visual Studio redistributable package, and produce a message asking the user to install it if it is missing. * The mysql client now supports a --binary-as-hex option that causes display of binary data using hexadecimal notation (0xvalue). Thanks to Danil van Eeden for the patch. * mysqlaccess now looks for its configuration file only in the SYSCONFDIR directory and /etc. Bugs Fixed * InnoDB: The server allocated memory unnecessarily for an operation that rebuilt the table. * InnoDB: When using an index merge optimizer switch, a SELECT COUNT(*) operation sometimes returned 0. Partitioning code incorrectly performed a memcpy instead of a column copy of columns read by the index, causing the wrong records to be copied. * Replication: A USE statement that followed a SET GTID_NEXT statement sometimes had no effect. * Replication: If the binary log on a master server was rotated and a full disk condition occurred on the partition where the binary log file was being stored, the server could stop unexpectedly. The fix adds a check for the existence of the binary log when the dump thread switches to next binary log file. If the binary log is disabled, all binary logs up to the current active log are transmitted to slave and an error is returned to the receiver thread. * Replication: If a relay log index file named relay log files that did not exist, RESET SLAVE ALL sometimes did not fully clean up properly. * Replication: mysqlbinlog, if invoked with the --raw option, does not flush the output file until the process terminates. But if also invoked with the --stop-never option, the process never terminates, thus nothing is ever written to the output file. Now the output is flushed after each event. * Replication: A memory leak in mysqlbinlog was fixed. The leak happened when processing fake rotate events, or when using --raw and the destination log file could not be created. The leak only occurred when processing events from a remote server. Thanks to Laurynas Biveinis for his contribution to fixing this bug. * Replication: Multi-threaded slaves could not be configured with small queue sizes using slave_pending_jobs_size_max if they ever needed to process transactions larger than that size. Any packet larger than slave_pending_jobs_size_max was rejected with the error ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX, even if the packet was smaller than the limit set by slave_max_allowed_packet. * With this fix, slave_pending_jobs_size_max becomes a soft limit rather than a hard limit. If the size of a packet exceeds slave_pending_jobs_size_max but is less than slave_max_allowed_packet, the transaction is held until all the slave workers have empty queues, and then processed. All subsequent transactions are held until the large transaction has been completed. The queue size for slave workers can therefore be limited while still allowing occasional larger transactions. * mysqldump could write database names in USE statements incorrectly. * If the mysql_stmt_close() C API function was called, it freed memory that later could be accessed if mysql_stmt_error(), mysql_stmt_errno(), or mysql_stmt_sqlstate() was called. To obtain error information after a call to mysql_stmt_close(), call mysql_error(), mysql_errno(), or mysql_sqlstate() instead. * Queries could be cached incorrectly, leading to incorrect query results, under these circumstances: InnoDB table; rows are being inserted but have not yet been committed; a query uses the table as a base table in a derived table; the optimizer chooses to materialize the derived table. * Man pages for a few utilities were missing from Debian/Ubuntu packages. * The field-t unit test failed to run with AddressSanitizer enabled. Thanks to Laurynas Biveinis for the patch. * Debian client packages were missing information about conflicts with native packages. * The Perl path in #! lines at the beginning of Perl scripts has been adjusted to /usr/local/bin/perl for FreeBSD 11. * The server exited abnormally attempting to access invalid memory. * A race condition could occur for CREATE TABLE statements with DATA DIRECTORY or INDEX DIRECTORY clauses. * MySQL compilation in different directories produced different builds to leakage of absolute paths into debug information and __FILE__. * mysqld_failed to start the server if the --datadir option was specified with a relative path name. * With read_only enabled, creation of non-TEMPORARY tables by non-SUPER users was permitted under certain conditions. *Certain stored functions, if used in a query WHERE clause, could be handled using Index Condition Pushdown (which should not happen), resulting in a server exit. * On x86 machines, the uint3korr() macro read 4 bytes of data instead of the intended 3 bytes. * An assertion was raised during a fetch operation by the memcached plugin. * Queries that contained UNION in a subquery and GROUP BY could return incorrect results. * LOAD XML INFILE performance became noticeably slower when the XML file being read contained a great many spaces, such as those introduced by indenting or pretty-printing. Now all leading whitespace is trimmed from each such value before reading it into memory. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 pkgsrc/databases/mysql56-client/Makefile cvs rdiff -u -r1.40 -r1.41 pkgsrc/databases/mysql56-client/Makefile.common cvs rdiff -u -r1.42 -r1.43 pkgsrc/databases/mysql56-client/distinfo cvs rdiff -u -r1.32 -r1.33 pkgsrc/databases/mysql56-server/Makefile cvs rdiff -u -r1.29 -r1.30 pkgsrc/databases/mysql56-server/PLIST
Security Notes * Security Fix: The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2l. 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. Platform-Specific Notes * Linux: The generic Linux build for MySQL 5.6 is now built on Oracle Linux 6 using glibc 2.12. Systems that use the build need to have glibc 2.12 or later installed on them. Functionality Added or Changed * For Windows, MSI installer packages now include a check for the required Visual Studio redistributable package, and produce a message asking the user to install it if it is missing. * The mysql client now supports a --binary-as-hex option that causes display of binary data using hexadecimal notation (0xvalue). Thanks to Daniël van Eeden for the patch. * mysqlaccess now looks for its configuration file only in the SYSCONFDIR directory and /etc. Bugs Fixed * InnoDB: The server allocated memory unnecessarily for an operation that rebuilt the table. * InnoDB: When using an index merge optimizer switch, a SELECT COUNT(*) operation sometimes returned 0. Partitioning code incorrectly performed a memcpy instead of a column copy of columns read by the index, causing the wrong records to be copied. * Replication: A USE statement that followed a SET GTID_NEXT statement sometimes had no effect. * Replication: If the binary log on a master server was rotated and a full disk condition occurred on the partition where the binary log file was being stored, the server could stop unexpectedly. The fix adds a check for the existence of the binary log when the dump thread switches to next binary log file. If the binary log is disabled, all binary logs up to the current active log are transmitted to slave and an error is returned to the receiver thread. * Replication: If a relay log index file named relay log files that did not exist, RESET SLAVE ALL sometimes did not fully clean up properly. * Replication: mysqlbinlog, if invoked with the --raw option, does not flush the output file until the process terminates. But if also invoked with the --stop-never option, the process never terminates, thus nothing is ever written to the output file. Now the output is flushed after each event. * Replication: A memory leak in mysqlbinlog was fixed. The leak happened when processing fake rotate events, or when using --raw and the destination log file could not be created. The leak only occurred when processing events from a remote server. Thanks to Laurynas Biveinis for his contribution to fixing this bug. * Replication: Multi-threaded slaves could not be configured with small queue sizes using slave_pending_jobs_size_max if they ever needed to process transactions larger than that size. Any packet larger than slave_pending_jobs_size_max was rejected with the error ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX, even if the packet was smaller than the limit set by slave_max_allowed_packet. * With this fix, slave_pending_jobs_size_max becomes a soft limit rather than a hard limit. If the size of a packet exceeds slave_pending_jobs_size_max but is less than slave_max_allowed_packet, the transaction is held until all the slave workers have empty queues, and then processed. All subsequent transactions are held until the large transaction has been completed. The queue size for slave workers can therefore be limited while still allowing occasional larger transactions. * mysqldump could write database names in USE statements incorrectly. * If the mysql_stmt_close() C API function was called, it freed memory that later could be accessed if mysql_stmt_error(), mysql_stmt_errno(), or mysql_stmt_sqlstate() was called. To obtain error information after a call to mysql_stmt_close(), call mysql_error(), mysql_errno(), or mysql_sqlstate() instead. * Queries could be cached incorrectly, leading to incorrect query results, under these circumstances: InnoDB table; rows are being inserted but have not yet been committed; a query uses the table as a base table in a derived table; the optimizer chooses to materialize the derived table. * Man pages for a few utilities were missing from Debian/Ubuntu packages. * The field-t unit test failed to run with AddressSanitizer enabled. Thanks to Laurynas Biveinis for the patch. * Debian client packages were missing information about conflicts with native packages. * The Perl path in #! lines at the beginning of Perl scripts has been adjusted to /usr/local/bin/perl for FreeBSD 11. * The server exited abnormally attempting to access invalid memory. * A race condition could occur for CREATE TABLE statements with DATA DIRECTORY or INDEX DIRECTORY clauses. * MySQL compilation in different directories produced different builds to leakage of absolute paths into debug information and __FILE__. * mysqld_failed to start the server if the --datadir option was specified with a relative path name. * With read_only enabled, creation of non-TEMPORARY tables by non-SUPER users was permitted under certain conditions. *Certain stored functions, if used in a query WHERE clause, could be handled using Index Condition Pushdown (which should not happen), resulting in a server exit. * On x86 machines, the uint3korr() macro read 4 bytes of data instead of the intended 3 bytes. * An assertion was raised during a fetch operation by the memcached plugin. * Queries that contained UNION in a subquery and GROUP BY could return incorrect results. * LOAD XML INFILE performance became noticeably slower when the XML file being read contained a great many spaces, such as those introduced by indenting or pretty-printing. Now all leading whitespace is trimmed from each such value before reading it into memory.
Changes 5.6.32: Bugs Fixed InnoDB: Full-text search auxiliary tables could be dropped by one session while being access by another. InnoDB: Selecting full-text index information schema tables for a deleted table caused a segmentation fault. InnoDB: Rollback of a full-text index synchronization operation raised an assertion. The rollback operation attempted to acquire a mutex still held by the background synchronization thread. InnoDB: Setting innodb_monitor_enable to all did not enable all counters. Replication: After issuing a PURGE BINARY LOGS statement, if the binary log index file was not available, for example because it had been opened by another application such as MEB, the server could stop unexpectedly. Although this situation was rare, the handling has been made more robust to avoid unexpected halts and more informative errors are provided. Replication: When using row-based replication and InnoDB, replication slaves reverted to using an older locking scheme when a transaction had already acquired an AUTOINC lock related to a LOAD FILE or INSERT ... SELECT type of statement, reducing replication slave performance. The fix ensures that sql_command is set correctly for any of the DML events such as WRITE_ROWS_EVENT, UPDATE_EVENT, and DELETE_EVENT. Replication: A MySQL version 5.5 slave does not have a server_uuid and replication identified servers by their server_id. Starting from MySQL version 5.6, replication masters detected a zombie dump thread based only on a slave's server_uuid value, under the assumption that each slave has a unique UUID. Connecting a MySQL 5.5 slave to a MySQL 5.6 and later master meant that the master was unable to detect zombie dump threads that were created to serve slaves running versions older than MySQL 5.6. The fix ensures that a master now first checks if a slave has a server_uuid set. If it is set, zombie dump thread detection happens based on the slave's UUID. If a slave's server_uuid is not set, zombie dump thread detection happens based on server_id. Replication: With slave_skip_errors enabled there were still special cases when slave errors were not being correctly ignored. For example: When opening and locking a table failed. When field conversions failed on a server running row-based replication. In these cases the error was considered critical and it was not respecting the state of slave_skip_errors. The fix ensures that with slave_skip_errors enabled, all errors reported during applying a transaction are correctly handled. This means that in such a set up, upon receiving an error with the log_warnings option set to greater than 1, if the error can be ignored then the warning is printed into the error log and the server continues as it does in the case of other ignored errors. Replication: When using statement-based or mixed binary logging format with --read-only=ON, it was not possible to modify temporary tables. MySQL Server upgrades performed using RPM packages failed when upgrading from MySQL 5.5 Community to MySQL 5.6 Community or MySQL 5.5 Commercial to MySQL 5.6 Commercial. The code for reading character set information from Performance Schema statement events tables (for example, events_statements_current) did not prevent simultaneous writing to that information. As a result, the SQL query text character set could be invalid, which could result in a server exit. Now an invalid character set causes SQL_TEXT column truncation. A buffer overflow in the regex library was fixed. Certain arguments to NAME_CONST() could cause a server exit. For unit-testing with the MySQL test suite, the make unit-test command is no longer available. The ctest program should be used instead. See Unit Tests Added to Main Test Runs. ST_Distance() could raise an assertion for NULL return values. With the query cache enabled, executing a prepared statement with CURSOR_TYPE_READ_ONLY and then again with CURSOR_TYPE_NO_CURSOR caused the server to return an error. mysql_real_connect() was not thread-safe when invoked with the MYSQL_READ_DEFAULT_FILE or MYSQL_READ_DEFAULT_GROUP option enabled. Installing MySQL from a yum or zypper repository resulted in /var/log/mysqld.log being created with incorrect user and group permissions. If a stored function updated a view for which the view table had a trigger defined that updated another table, it could fail and report an error that an existing table did not exist. 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). For multibyte character sets, LOAD DATA could fail to allocate space correctly and ignore input rows as a result.
Bump PKGREVISION for perl-5.24.0 for everything mentioning perl.
Changes 5.6.31: Security Notes The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.1t. Issues fixed in the new 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. (Bug 23229564) Functionality Added or Changed A new CMake option, WITH_SYMVER16, if enabled, causes the libmysqlclient client library to contain extra symbols to be compatible with libmysqlclient on RHEL/OEL 5, 6, 7, and Fedora releases. All symbols present in libmysqlclient.so.16 are tagged with symver 16 in libmsqlclient.so.18, making those symbols have both symver 16 and 18. (Bug 22980983) support-files/MacOSX/ReadMe.txt is no longer included in MySQL distributions. (Bug 81038, Bug 23088916) The version of the tcmalloc library included in MySQL distributions was very old. It has been removed and is no longer included with MySQL. (Bug 80994, Bug 23068660) Bugs Fixed InnoDB: MySQL failed to build on Fedora 24 using GCC 6. (Bug 23227804) InnoDB: Potential buffer overflow issues were corrected for the InnoDB memcached plugin. (Bug 23187607) InnoDB: The full-text index cache was freed during a background index cache synchronization. (Bug 22996488) InnoDB: A full-text index operation raised an assertion. (Bug 22963169) InnoDB: An INSERT operation on a table with a FULLTEXT index and FTS_DOC_ID column failed because the inserted FTS_DOC_ID value exceeded the permitted gap between consecutive FTS_DOC_ID values. To avoid this problem, the permitted gap between the largest used FTS_DOC_ID value and new FTS_DOC_ID value was raised from 10000 to 65535. (Bug 22679185) InnoDB: With innodb_autoinc_lock_mode=0, multiple threads waiting for a table-level lock caused an unexpected deadlock. (Bug 21983865, Bug 78761) InnoDB: A FLUSH TABLES ... FOR EXPORT operation appeared to stall. A loop in the ibuf_contract_in_background function failed to exit. (Bug 21133329, Bug 77011) InnoDB: A full-text query raised an assertion. Under certain circumstances, DDL operations such as ALTER TABLE ... RENAME caused full-text auxiliary tables to be removed on server restart. (Bug 13651665) Replication: In the next_event() function, which is called by a slave's SQL thread to read the next even from the relay log, the SQL thread did not release the relaylog.log_lock it acquired when it ran into an error (for example, due to a closed relay log), causing all other threads waiting to acquire a lock on the relay log to hang. With this fix, the lock is released before the SQL thread leaves the function under the situation. (Bug 21697821) References: See also: Bug 20492319. Replication: If a multi-threaded replication slave running with relay_log_recovery=1 stopped unexpectedly, during restart the relay log recovery process could fail. This was due to transaction inconsistencies not being filled, see Handling an Unexpected Halt of a Replication Slave. Prior to this fix, to recover from this situation required manually setting relay_log_recovery=0, starting the slave with START SLAVE UNTIL SQL_AFTER_MTS_GAPS to fix any transaction inconsistencies and then restarting the slave with relay_log_recovery=1. This process has now been automated, enabling relay log recovery of a multi-threaded slave upon restart automatically. (Bug 77496, Bug 21507981) INSERT with ON DUPLICATE KEY UPDATE and REPLACE on a table with a foreign key constraint defined failed with an incorrect “duplicate entry” error rather than a foreign key constraint violation error. (Bug 23135731) References: This issue is a regression of: Bug 78853, Bug 22037930. For debug builds, CONCAT_WS() could raise an assertion if there was nothing to append. (Bug 22888420) Invoking Enterprise Encryption functions in multiple threads simultaneously could cause a server exit. (Bug 22839278) Attempting to use Enterprise Encryption functions after creating and dropping them could cause a server exit. (Bug 22669012) Setting sort_buffer_size to a very large value could cause some operations to fail with an out-of-memory error. (Bug 22594514) An assertion could be raised when a deadlock occurred due to a SELECT ... GROUP BY ... FOR UPDATE query executed using a Loose Index Scan. (Bug 22187476) Several potential buffer overflow issues were corrected. (Bug 21977380, Bug 23187436, Bug 23202778, Bug 23195370, Bug 23202699) If the CA certificate as given to the --ssl-ca option had an invalid path, yaSSL returned an error message different from OpenSSL. Now both return SSL connection error: SSL_CTX_set_default_verify_paths failed. (Bug 21920657) Some string functions returned one or a combination of their parameters as their result. If one of the parameters had a non-ASCII character set, the result string had the same character set, resulting in incorrect behavior when an ASCII string was expected. (Bug 18740222) On Windows, MySQL installation could result in MySQL being placed under C:\Program Files\Canon\Easy-WebPrint EX. (Bug 14583183) References: See also: Bug 70918, Bug 68821, Bug 68227. On Fedora 24, upgrades using a Community MySQL Server RPM failed to replace an installed MariaDB Galera server due to a change in the MariaDB package. (Bug 81390, Bug 23273818) MySQL did not compile under Solaris 12 using Sun Studio. To correct this, instances of __attribute__ were changed to MY_ATTRIBUTE. (Bug 80748, Bug 22932576) The INSTALL-SOURCE file had partly outdated information and has been removed from source packages. (Binary packages are unaffected). (Bug 80680, Bug 23081064) For a server compiled with -DWITH_PERFSCHEMA_STORAGE_ENGINE=0, a memory leak could occur for buffered log messages used during server startup. (Bug 80089, Bug 22578574) For debug builds, merging a derived table into an outer query block could raise an assertion. (Bug 79502, Bug 22305361, Bug 21139722) A null pointer dereference of a parser structure could occur during stored procedure name validation. (Bug 79396, Bug 22286421) Using CREATE USER to create an account with the mysql_native_password or mysql_old_password authentication plugin and using a clause of the form IDENTIFIED WITH plugin AS 'hash_string' caused the account to be created without a password. (Bug 78033, Bug 21616496) Failure of UNINSTALL PLUGIN could lead to inaccurate or confusing errors for subsequent INSTALL PLUGIN operations. (Bug 74977, Bug 20085672) mysqld_multi displayed misleading error messages when it was unable to execute my_print_defaults. (Bug 74636, Bug 19920049) On Windows, MySQL installation failed if the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ registry key was present with a key/value pair of "InstallLocation" and "\Hewlett-Packard\\". (Bug 74631, Bug 19949163) mysqldump failed silently with no error message when it encountered an error while executing FLUSH LOGS.
Use proper CONF_FILES for my.cnf. Makes mysql56-client look for it under $PKG_SYSCONFDIR, and prevents mysql_install_db from creating $PREFIX/my.cnf. Brings mysql56-client and mysql56-server in sync WRT my.cnf location. Bump respective PKGREVISIONs. Noticed by peterkelm@ on Github.
Changes 5.6.30: Security Notes -------------- The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.1s. Issues fixed in the new 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. MySQL client programs now support an --ssl-mode option that enables you to specify the security state of the connection to the server. The default value is DISABLED (establish an unencrypted connection). --ssl-mode=REQUIRED) can be specified to require a secure connection, or fail if a secure connection cannot be obtained. These clients support --ssl-mode: mysql, mysqladmin, mysqlcheck, mysqldump, mysqlimport, mysqlshow, mysqlpump, mysqlslap, mysqltest, mysql_upgrade. For more information, see Command Options for Secure Connections. Bugs Fixed
Bump PKGREVISION for security/openssl ABI bump.
Changes 5.6.26: * Security Fix: Due to the LogJam issue (https://weakdh.org/), OpenSSL has changed the Diffie-Hellman key length parameters for openssl-1.0.1n and up. * Replication: When using a multi-threaded slave, each worker thread has its own queue of transactions to process. In previous MySQL versions, STOP SLAVE waited for all workers to process their entire queue. This logic has been changed so that STOP SLAVE first finds the newest transaction that was committed by any worker thread. Then, it waits for all workers to complete transactions older than that. Newer transactions are not processed. The new logic allows STOP SLAVE to complete faster in case some worker queues contain multiple transactions. * Previously, the max_digest_length system variable controlled the maximum digest length for all server functions that computed statement digests. However, whereas the Performance Schema may need to maintain many digest values, other server functions such as MySQL Enterprise Firewall need only one digest per session. Increasing the max_digest_length value has little impact on total memory requirements for those functions, but can increase Performance Schema memory requirements significantly. To enable configuring digest length separately for the Performance Schema, its digest length is now controlled by the new performance_schema_max_digest_length system variable. * Previously, changes to the validate_password plugin dictionary file (named by the validate_password_dictionary_file system variable) while the server was running required a restart for the server to recognize the changes. Now validate_password_dictionary_file can be set at runtime and assigning a value causes the named file to be read without a restart. In addition, two new status variables are available. validate_password_dictionary_file_last_parsed indicates when the dictionary file was last read, and validate_password_dictionary_file_words_count indicates how many words it contains. * Bugs fixed
Pullup ticket #4776 - requested by manu databases/mysql56-client: bug fix patch databases/mysql56-server: bug fix patch Revisions pulled up: - databases/mysql56-client/Makefile 1.17 - databases/mysql56-client/distinfo 1.25 - databases/mysql56-client/patches/patch-include_violite.h 1.1 - databases/mysql56-client/patches/patch-vio_viosslfactories.c 1.1 - databases/mysql56-server/Makefile 1.25 --- Module Name: pkgsrc Committed By: manu Date: Tue Jul 14 12:09:24 UTC 2015 Modified Files: pkgsrc/databases/mysql56-client: Makefile distinfo Added Files: pkgsrc/databases/mysql56-client/patches: patch-include_violite.h patch-vio_viosslfactories.c Log Message: Restore SSL functionnality with OpenSSL 1.0.1p With OpenSSL 1.0.1p upgrade, DH parameters below 1024 bits are now refused. MySQL hardcodes 512 bits DH parameters and will therefore fail to run SSL connexions with OpenSSL 1.0.1p Apply fix from upstream: https://github.com/mysql/mysql-server/commit/ 866b988a76e8e7e217017a7883a52a12ec5024b9 --- Module Name: pkgsrc Committed By: manu Date: Tue Jul 14 16:38:56 UTC 2015 Modified Files: pkgsrc/databases/mysql56-server: Makefile Log Message: Restore SSL functionnality with OpenSSL 1.0.1p (revision bump) This changes just bumps PKGREVISION after patches were added in mysql56-client/patches which impact mysql56-server. For the record, the commit log or that patches: > With OpenSSL 1.0.1p upgrade, DH parameters below 1024 bits are now > refused. MySQL hardcodes 512 bits DH parameters and will therefore > fail to run SSL connexions with OpenSSL 1.0.1p > > Apply fix from upstream: > https://github.com/mysql/mysql-server/commit/ 866b988a76e8e7e217017a7883a52a12ec5024b9
Restore SSL functionnality with OpenSSL 1.0.1p With OpenSSL 1.0.1p upgrade, DH parameters below 1024 bits are now refused. MySQL hardcodes 512 bits DH parameters and will therefore fail to run SSL connexions with OpenSSL 1.0.1p Apply fix from upstream: https://github.com/mysql/mysql-server/commit/866b988a76e8e7e217017a7883a52a12ec5024b9
Recursive PKGREVISION bump for all packages mentioning 'perl', having a PKGNAME of p5-*, or depending such a package, for perl-5.22.0.
Remove SVR4_PKGNAME, per discussion on tech-pkg.
Remove WRAPPER_BINDIR references in mysqlbug.
Changes 5.6.19: Functionality Added or Changed The obsolete and unmaintained charset2html utility has been removed from MySQL distributions. The mysqlbug, mysql_waitpid, and mysql_zap utilities have been deprecated and will be removed in MySQL 5.7. Bugs Fixed InnoDB: After upgrading from 5.6.10 to MySQL versions up to and including MySQL 5.6.18, InnoDB would attempt to rename obsolete full-text search auxiliary tables on server startup, resulting in an assertion failure. InnoDB: For each insert, memset would be called three times to allocate memory for system fields. To reduce CPU usage, the three memset calls are now combined into a single call. InnoDB: Enabling the InnoDB Table Monitor would result in a ib_table->stat_initialized assertion failure. InnoDB: Setting innodb_max_dirty_pages_pct=0 would leave 1% of dirty pages unflushed. Buffer pool flushing is initiated when the percentage of dirty pages is greater innodb_max_dirty_pages_pct. The internal variables that store the innodb_max_dirty_pages_pct value and the percentage of dirty pages (buf_get_modified_ratio_pct and srv_max_buf_pool_modified_pct) were defined as unsigned integer data types, which meant that a innodb_max_dirty_pages_pct value of 0 required a dirty pages percentage of 1 or greater to initiate buffer pool flushing. To address this problem, the buf_get_modified_ratio_pct and srv_max_buf_pool_modified_pct internal variables are redefined as double data types, which changes the range value for innodb_max_dirty_pages_pct and innodb_max_dirty_pages_pct_lwm from 0 .. 99 to 0 .. 99.99. Additionally, buffer pool flushing is now initiated when the percentage of dirty pages is “greater than or equal to” innodb_max_dirty_pages_pct. Replication: Log rotation events could cause group_relay_log_pos to be moved forward incorrectly within a group. This meant that, when the transaction was retried, or if the SQL thread was stopped in the middle of a transaction following one or more log rotations (such that the transaction or group spanned multiple relay log files), part or all of the group was silently skipped. This issue has been addressed by correcting a problem in the logic used to avoid touching the coordinates of the SQL thread when updating the log position as part of a relay log rotation whereby it was possible to update the SQL thread's coordinates when not using a multi-threaded slave, even in the middle of a group. Replication: When running the server with --gtid-mode=ON, STOP SLAVE followed by START SLAVE resulted in a mismatch between the information provided by INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO and the Slave_open_temp_tables status variable: the INNODB_TEMP_TABLE_INFO table showed that no temporary tables existed, but Slave_open_temp_tables had a nonzero value. Replication: In certain cases, the server mishandled triggers and stored procedures that tried to modify other tables when called by CREATE TABLE ... SELECT. This is now handled correctly as an error. Replication: When used on a table employing a transactional storage engine, a failed TRUNCATE TABLE was still written to the binary log and thus replayed on the slave. This could lead to inconsistency when the master retained data that was removed on the slave. Now in such cases TRUNCATE TABLE is logged only when it executes successfully. Replication: The server did not always handle the auto.cnf file correctly in cases where this file's permissions were incorrect. Replication: When the binary log was rotated due to receipt of a SIGHUP signal, the new binary log did not contain the Previous_gtid_event required for subsequent processing of that binary log's GTID events. Now when SIGHUP is received, steps are taken to insure that the server writes the necessary Previous_gtid_event to the new log before writing any GTID events to the new log.
Bump for perl-5.20.0. Do it for all packages that * mention perl, or * have a directory name starting with p5-*, or * depend on a package starting with p5- like last time, for 5.18, where this didn't lead to complaints. Let me know if you have any this time.
Changes 5.6.16: Functionality Added or Changed * InnoDB: New global configuration parameters, innodb_status_output and innodb_status_output_locks, allow you to dynamically enable and disable the standard InnoDB Monitor and InnoDB Lock Monitor for periodic output. Enabling and disabling monitors for periodic output by creating and dropping specially named tables is deprecated and may be removed in a future release. * Previously, ALTER TABLE in MySQL 5.6 could alter a table such that the result had temporal columns in both 5.5 and 5.6 format. Now ALTER TABLE upgrades old temporal columns to 5.6 format for ADD COLUMN, CHANGE COLUMN, MODIFY COLUMN, ADD INDEX, and FORCE operations. This conversion cannot be done using the INPLACE algorithm, so specifying ALGORITHM=INPLACE in these cases results in an error. * CMake now supports a -DTMPDIR=dir_name option to specify the default tmpdir value. If unspecified, the value defaults to P_tmpdir in <stdio.h>. Bugs Fixed * InnoDB; Replication: Using the InnoDB memcached plugin (see InnoDB Integration with memcached) with innodb_api_enable_binlog set to 1 caused the server to leak memory. * InnoDB: A boolean mode full-text search query would result in a memory access violation during parsing. * InnoDB: When new indexes are added by an ALTER TABLE operation, instead of only saving table-level statistics and statistics for the new indexes, InnoDB would save statistics for the entire table, including the table's other indexes. This behavior slowed ALTER TABLE performance. * InnoDB: Due to a parser error, full-text search queries that include a sub-expression could return the wrong result. * InnoDB: The innochecksum tool did not use a Windows-specific API to retrieve file size information, which resulted in an incorrect error message (Error: ibdata1 cannot be found) when the MySQL 5.6 innochecksum 2GB file size limit was exceeded. innochecksum now provides support for files larger than 2GB in both MySQL 5.6 and MySQL 5.7. * InnoDB: Due to a regression introduced by the fix for Bug17371537, memory was not allocated for the default memcached engine when using the default memcached engine as the backstore for data instead of InnoDB. * InnoDB: InnoDB would report an incorrect operating system error code after failing to initialize. * InnoDB: Manipulating a table after discarding its tablespace using ALTER TABLE ... DISCARD TABLESPACE could result in a serious error. * InnoDB: Persistent optimizer statistics would cause stalls due to latch contention. * InnoDB: MATCH() ... AGAINST queries that use a long string as an argument for AGAINST() could result in an error when run on an InnoDB table with a full-text search index. * InnoDB: An InnoDB full-text search failure would occur due to an “unended” token. The string and string length should be passed for string comparison. * InnoDB: In debug builds, a merge insert buffer during a page read would cause a memory access violation. * InnoDB: Truncating a memcached InnoDB table while memcached is performing DML operations would result in a serious error. * InnoDB: In sync0rw.ic, rw_lock_x_lock_func_nowait would needlessly call os_thread_get_curr_id. * InnoDB: Attempting to rename a table to a missing database would result in a serious error. more...
Recursive PKGREVISION bump for OpenSSL API version bump.
Remove CONFLICTS with ${PKGBASE}, these are automatic. Avoids unnecessary pkgin warning.
Changes 5.6.14: * MySQL 5.7 changed audit log file output to a new format that has better compatibility with Oracle Audit Vault. This format has been backported to MySQL 5.6 and it is possible to select either the old or new format using the new audit_log_format system variable, which has permitted values of OLD and NEW (default OLD). For details about each format, see The Audit Log File. * Important Change; Replication: START SLAVE UNTIL SQL_AFTER_GTIDS did not cause the slave to stop until the next GTID event was received following execution of the transaction having the indicated GTID, which could cause issues in the case when the next GTID event is delayed, or does not exist. Now the slave stops after completing the transaction with that GTID. * InnoDB; Partitioning: Following any query on the INFORMATION_SCHEMA.PARTITIONS table, InnoDB index statistics as shown in the output of statements such as SELECT * FROM INFORMATION_SCHEMA.STATISTICS were read from the last partition, instead of from the partition containing the greatest number of rows. * InnoDB: When logging the delete-marking of a record during online ALTER TABLE...ADD PRIMARY KEY, InnoDB writes the transaction ID to the log as it was before the deletion or delete-marking of the record. When doing this, InnoDB would overwrite the DB_TRX_ID field in the original table, which could result in locking issues. * InnoDB: The row_sel_sec_rec_is_for_clust_rec function would incorrectly prepare to compare a NULL column prefix in a secondary index with a non-NULL column in a clustered index. * InnoDB: An incorrect purge would occur when rolling back an update to a delete-marked record. * InnoDB: An assertion would be raised in fil_node_open_file due to a missing .ibd file. Instead of asserting, InnoDB should return false and the caller of fil_node_open_file should handle the return message. * InnoDB: The assertion ut_ad(oldest_lsn <= cur_lsn) in file buf0flu.cc would fail because the current max LSN would be retrieved from the buffer pool before the oldest LSN. * InnoDB: InnoDB memcached add and set operations would perform more slowly than SQL INSERT operations. * InnoDB: The InnoDB memcached plugin could be initialized to insert into an InnoDB table with an INTEGER primary key. More...
Always create symbolic links avoid to use ".so" macro and stop ugly messages from daily (or weekly). Rebuilding man page index: man-gpl-tmp2/mysql_client_test.1: No such file or directory man-gpl-tmp2/mysqltest.1: No such file or directory Bump PKGREVISION.
Server needs the same changes as client to not build the integrated editline, so move them to Makefile.common.
Really use the system readline/editline.
Changes 5.6.12: * mysql_upgrade now verifies that the server version matches the version against which it was compiled, and exits if there is a mismatch. In addiion, a --version-check option permits specifying whether to enable version checking (the default), or disable checking if given as --skip-version-checking. * Bugs Fixed
Bump all packages for perl-5.18, that a) refer 'perl' in their Makefile, or b) have a directory name of p5-*, or c) have any dependency on any p5-* package Like last time, where this caused no complaints.
Remove REPLACE_PERL for non-existent file.
Changes 5.6.10: http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-10.html