./databases/mysql57-client, MySQL 5, a free SQL database (client)

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 5.7.31nb1, Package name: mysql-client-5.7.31nb1, Maintainer: pkgsrc-users

MySQL is a SQL (Structured Query Language) database server. SQL is the most
popular database language in the world. MySQL is a client-server implementation
that consists of a server daemon `mysqld' and many different client
programs/libraries.

The main goals of MySQL are speed and robustness.

The base upon which MySQL is built is a set of routines that have been used in
a highly demanding production environment for many years. While MySQL is still
in development it already offers a rich and highly useful function set.

The official way to pronounce 'MySQL' is 'My Ess Que Ell' (Not MY-SEQUEL).

This package contains the MySQL client programs and libraries.

This is an old version, scheduled to be EOL in October, 2023.


Required to run:
[lang/perl5] [security/openssl] [devel/libevent] [devel/boost-libs] [devel/editline] [archivers/lz4]

Required to build:
[devel/boost-headers] [pkgtools/cwrappers]

Package options: embedded-server

Master sites: (Expand)

SHA1: de7096fd56bfb9e904f81f7b0cff01ca9f1b89c4
RMD160: a5ebd18b6841b0fb794e5fa88fac302f24c5e860
Filesize: 53142.911 KB

Version history: (Expand)


CVS history: (Expand)


   2020-09-22 21:39:27 by Havard Eidnes | Files touched by this commit (1)
Log message:
On powerpc, pull in devel/libatomic, so that this package builds.
Build fix only for this platform; detection for -latomic is already there.
OK'ed by gdt@
   2020-08-31 20:13:29 by Thomas Klausner | Files touched by this commit (3631) | Package updated
Log message:
*: bump PKGREVISION for perl-5.32.
   2020-08-05 18:12:11 by Adam Ciarcinski | Files touched by this commit (5) | Package updated
Log message:
mysql57: updated to 5.7.31

Changes in MySQL 5.7.31

Configuration Notes

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

Packaging Notes

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

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

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

Security Notes

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

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

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

Bugs Fixed

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

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

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

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

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

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

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

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

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

The index was used for handling the ORDER BY.

Our thanks to Quanan Han for the contribution.

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

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

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

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

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

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

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

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

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

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

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

mysql_store_result() could fail to detect invalid data packets.

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

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

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

Coercibility of the NAME_CONST() function was assessed incorrectly.

Incorrect results could occur when the optimizer chose an index on a generated \ 
column to fetch values.
   2020-05-11 23:25:02 by Tobias Nygren | Files touched by this commit (1)
Log message:
mysql57-client: be more explicit about where libedit headers are
   2020-05-09 18:59:49 by Tobias Nygren | Files touched by this commit (1)
Log message:
mysql57-client: help cmake detect EDITLINE_INCLUDE_DIR
   2020-05-07 07:31:53 by Adam Ciarcinski | Files touched by this commit (15) | Package updated
Log message:
mysql57: updated to 5.7.30

Changes in MySQL 5.7.30:

JSON Notes

The rapidjson library included with MySQL has been upgraded to the GitHub \ 
snapshot of 16 January 2020. A fix for a compiler error encountered when \ 
building from the snapshot on Mac OS X has been added.

Packaging Notes

Binary packages that include curl rather than linking to the system curl library \ 
have been upgraded to use curl 7.69.0.

The bundled libedit library was upgraded to version 3.1.

Bugs Fixed

InnoDB: The row_upd_clust_rec_by_insert function, which marks a clustered index \ 
record as deleted and inserts an updated version of the record into the \ 
clustered index, passed an incorrect n_ext value (the total number of external \ 
fields) to lower level functions, causing an assertion failure.

InnoDB: An operation performed with the innodb_buffer_pool_evict debug variable \ 
set to uncompressed caused an assertion failure.

InnoDB: An add column operation caused an assertion failure. The failure was due \ 
to a dangling pointer.

InnoDB: Updating certain InnoDB system variables that take string values raised \ 
invalid read errors during Valgrind testing.

InnoDB: An insert statement on a table with a spatial index raised a record type \ 
mismatch assertion due to a tuple corruption.

InnoDB: A function that calculates undo log record size could calculate an \ 
incorrect length value in the case of a corrupted undo log record, resulting in \ 
a malloc failure. Assertion code was added to detect incorrect calculations.

Replication: While an SQL statement was in the process of being rewritten for \ 
the binary log so that sensitive information did not appear in plain text, if a \ 
SHOW PROCESSLIST statement was used to inspect the query, the query could become \ 
corrupted when it was written to the binary log, causing replication to stop. \ 
The process of rewriting the query is now kept private, and the query thread is \ 
updated only when rewriting is complete.

Replication: When a GRANT or REVOKE statement is only partially executed, an \ 
incident event is logged in the binary log, which makes the replication slave's \ 
applier thread stop so that the slave can be reconciled manually with the \ 
master. Previously, if a failed GRANT or REVOKE statement was the first \ 
statement executed in the session, no GTID was applied to the incident event \ 
(because the cache manager did not yet exist for the session), causing an error \ 
on the replication slave. Also, no incident event was logged in the situation \ 
where a GRANT statement created a user but then failed because the privileges \ 
had been specified incorrectly, again causing an error on the replication slave. \ 
Both these issues have now been fixed.

Replication: When a replication slave has a generated column that the master \ 
does not have in that table, with a secondary index on the generated column, the \ 
generated expression should be evaluated and the value stored by the storage \ 
engine in the secondary index. When row-based binary logging is in use, the \ 
replication slave assigns default values to any fields that are not in the \ 
master's definition of the table. In the case of a generated column, which does \ 
not have a default value, the slave was previously assigning a null or a zero \ 
value to the column. This value was then stored by the storage engine in the \ 
secondary index, causing both the table and the index to become corrupted. To \ 
fix this issue, generated columns in a table on a replication slave are now \ 
re-evaluated before the values are sent to the storage engine.

Replication: In the event of an unplanned disconnection of a replication slave \ 
from the master, the reference to the master's dump thread might not be removed \ 
from the list of registered slaves, in which case statements that accessed the \ 
list of slaves would fail. The issue has now been fixed.

Replication: With the settings binlog_format=MIXED, tx_isolation=READ-COMMITTED, \ 
and binlog_row_image=FULL, an INSERT ... SELECT query involving a transactional \ 
storage engine omitted any columns with a null value from the row image written \ 
to the binary log. This happened because when processing INSERT ... SELECT \ 
statements, the columns were marked for inserts before the binary logging format \ 
was selected. The issue has now been fixed.

The -libs-compat RPM package is now built with system zlib to avoid problems \ 
with unrestricted export of symbols in libmysqlclient.so.18.

The Event Scheduler had a memory leak.

Under certain circumstances, a memcached command could result in reading an \ 
uninitialized memory buffer, causing a failure.

Using ALTER USER to reset an account MAX_USER_CONNECTIONS value did not take \ 
effect until all current account connections terminated, if there were any.

A materialized subquery including a condition in which a column value was used \ 
as input to a nondeterministic function produced incorrect results.

CONCAT() and CONCAT_WS() could produce incorrect results in rare cases due to \ 
incorrect substring handling.

Scheduling of events could be disturbed by removing events.

Client programs could load authentication plugins from outside the plugin library.

The server did not handle correctly a UNION in which one of the queries \ 
contained a subquery that used ORDER BY.

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

In addition, attempting to insert a particular integer specified as a string \ 
caused a server exit when the string-to-integer conversion was not successful.

Previously, mysqlpump read the [mysql_dump] and [client] groups from option \ 
files. mysqlpump now additionally reads the [mysqlpump] group. The [mysql_dump] \ 
group is still accepted but is deprecated.

A multi-table UPDATE statement which updated a table joined to a derived table \ 
that joined two other tables was not optimized properly as it had been in MySQL \ 
5.6, instead being treated as if STRAIGHT_JOIN had been used with the subquery \ 
creating the derived table.
   2020-05-06 16:05:09 by Adam Ciarcinski | Files touched by this commit (591) | Package updated
Log message:
revbump after boost update
   2020-03-22 21:23:52 by Roland Illig | Files touched by this commit (1)
Log message:
databases/mysql57-client: allow SUBST class to be a no-op