Commit graph

51 commits

Author SHA1 Message Date
Jochen Neumeister
9fd5647e07 databases/mysql80-{client, server}: Update to latest release 8.0.33
Bugs Fixed

    NDB Cluster: Occasional temporary errors which could occur when
opening a table from the NDB dictionary while repeatedly performing
concurrent schema operations were not retried. (Bug #34843889)

    NDB Cluster: During iteration, ordered index scans retain a cursor
position within each concurrently scanned ordered index fragment.
Ordered index fragments are modified and balanced as a result of
committing DML transactions, which can require scan cursors to be moved
within the tree. When running with query threads configured
(AutomaticThreadConfig set to 1), multiple threads can access the same
index fragment tree structure, and the scans of multiple threads can
have their cursors present in the same structure.

    The current issue arose due to an assumption in the logic for moving
scan cursors when committing DML operations that all scan cursors
belonged to the LDM thread owning the index fragment, which did not
allow for the possibility that such fragments might belong to query
threads. (Bug #33379702)

    References: See also: Bug #32257063.

    InnoDB: Dead code removal. (Bug #35036850, Bug #109873)

    InnoDB: Error messages related to innodb_doublewrite moved to the
error log. (Bug #34883045, Bug #109330)

    InnoDB: Prevent online DDL operations from accessing out-of-bounds
memory. (Bug #34750489, Bug #108925)

    InnoDB: ALTER TABLE ... AUTO_INCREMENT could be set to less than MAX
+ 1 and not forced to MAX + 1. (Bug #33419246, Bug #105092)

    InnoDB: Innodb_data_pending_fsyncs could show extremely high
inaccurate values because of a variable overflow. (Bug #30133150)

    Partitioning: Some IN() queries on partitioned tables were not
always handled correctly. (Bug #34801284)

    References: This issue is a regression of: Bug #32311183.

    Partitioning: Queries using the INDEX_MERGE optimizer hint was not
handled correctly in all cases. (Bug #34797257)

    Replication: XA transactions whose XIDs contained null bytes could
not be recovered. (Bug #34918985)

    Replication: When binlog_order_commits was set equal to 1, for any
two transactions and for any sub-step of the commit phase, the
transaction that was written to the binary log first did not always
execute the sub-step first, as expected. (Bug #34703698)

    Replication: Some binary log events were not always handled
correctly. (Bug #34617506)

    Replication: The binary log recovery process did not report all
possible error states. (Bug #33658850)

    Replication: Following CHANGE REPLICATION SOURCE TO
SOURCE_CONNECTION_AUTO_FAILOVER=1, failover generated a number of
misleading warnings in the log that implied there were problems when in
fact conditions were those expected for such a failover. These log
messages have been updated accordingly. (Bug #32135376)

    Replication: When a transaction failed, as a side effect, extraneous
error messages relating the replication data repositories were written
to the log. Now in such cases, we suppress such error messages, which
are not directly related to the issue of the failed transaction or its
cause. (Bug #19820134)

    Replication: Setting binlog_order_commits to OFF could lead to a
missed GTID in the next binary log file's Previous_gtids event.

    Our thanks to Yewei Xu and the Tencent team for the contribution.
(Bug #109485, Bug #34930969)

    Replication: Corrected the SQL statements suggested in the error
message text for ER_RPL_REPLICA_ERROR_RUNNING_QUERY.

    Our thanks to Dan McCombs for the contribution. (Bug #109154, Bug

    Replication: A hash scan builds a hash of changes, scans the target
table or index, and applies any matching change for the current entry.
In the build phase, it uses only the before image, and skips any after
image. Problems arose in some cases because generated columns were
computed for the (skipped) after image, leading to replication errors.
This is fixed by not computing generated columns any longer for
seek-only calls such as hash scans.

    Our thanks to dc huang for the contribution. (Bug #107366, Bug

    Replication: In certain rare cases, it was possible to set
gtid_mode=OFF for one session while another session, after
WAIT_FOR_EXECUTED_GTID_SET() was issued by a user in this second
session, was still waiting for the next GTID set from the first session.
This could result in the second session waiting indefinitely for the
function to return. (Bug #99921, Bug #31505993)

    Group Replication: Accessing the Performance Schema
replication_group_communication_information and
replication_group_member_stats tables in parallel sometimes caused
subsequent group replication operations to hang. (Bug #34870181)

    Group Replication: In certain cases, the group replication secondary
node unexpectedly shut down while purging the relay log. (Bug #34397106)

    Group Replication: When shutting down the Group Replication plugin,
the order in which the associated events were reported the error log
sometimes led to confusion. To remove any doubts, we now make sure that
Plugin group_replication reported: 'Plugin 'group_replication' has been
stopped. is in fact the last log message relating to the shutdown,
written only when all other events associated with shutting down the
plugin have been logged. (Bug #109345, Bug #34887491)

    Microsoft Windows: The authentication_fido_client plugin stopped
responding during the authentication process if it was unable to find a
FIDO device on the Windows client host. (Bug #34918044)

    In certain cases, CONVERT(utf8mb3_column USING UTF16) was rejected
with the error Cannot convert string '\x--...' from binary to utf16.
(Bug #35129361)

    When joining two tables on a string column, and the column from one
of the tables has an additional predicate comparing it with a temporal
literal, constant propagation in some cases incorrectly caused the join
condition to be modified such that it used temporal rather than string
semantics when comparing the strings. This caused incorrect results to
be returned from the join. (Bug #35115909)

    Error messages returned after calling the mysql_reset_connection() C
API function in a prepared statement did not identify the function name
properly. (Bug #35107280)

    Fixed a regression in a previous fix for an issue with windowing
functions.

    Our thanks to Dmitry Lenev for the contribution. (Bug #35061924)

    References: This issue is a regression of: Bug #34572136.

    When replacing subqueries in transforms, the internal flag showing
whether a given query block contains any subqueries (PROP_SUBQUERY) was
not updated afterwards. (Bug #35060385)

    A client setting the character set to an impermissible client
character set (ucs2, utf16, utf16le, or utf32) could cause unexpected
behavior when the client used an authentication plugin. (Bug #35054579)

Changelog:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-33.html

Sponsored by:	Netzkommune GmbH
2023-07-09 17:52:13 +02:00
Po-Chuan Hsieh
5ee3f5d80c
databases/mysql80-client: Fix mysqlclient.pc
- Bump PORTREVISION for package change

Not all supported FreeBSD releases has openssl.pc in base system. This patch
adds a check for openssl.pc. It helps to build databases/py-mysqlclient.

If you do not have openssl.pc from your SSL provider.

Before the fix:
% grep Requires.private: /usr/local/libdata/pkgconfig/mysqlclient.pc
Requires.private: openssl

After the fix:
% grep Requires.private: /usr/local/libdata/pkgconfig/mysqlclient.pc
Requires.private:

The build log [1] of databases/py-mysqlclient without the fix:
===>  Building for py39-mysqlclient-2.2.0
* Getting build dependencies for wheel...
Package openssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `openssl.pc'
to the PKG_CONFIG_PATH environment variable
Package 'openssl', required by 'mysqlclient', not found
Trying pkg-config --exists mysqlclient
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
    main()
  File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
    json_out['return_val'] = hook(**hook_input['kwargs'])
  File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
    return hook(config_settings)
  File "/usr/local/lib/python3.9/site-packages/setuptools/build_meta.py", line 177, in get_requires_for_build_wheel
    return self._get_build_requires(
  File "/usr/local/lib/python3.9/site-packages/setuptools/build_meta.py", line 159, in _get_build_requires
    self.run_setup()
  File "/usr/local/lib/python3.9/site-packages/setuptools/build_meta.py", line 174, in run_setup
    exec(compile(code, __file__, 'exec'), locals())
  File "setup.py", line 154, in <module>
    ext_options = get_config_posix(get_options())
  File "setup.py", line 50, in get_config_posix
    cflags = subprocess.check_output(
  File "/usr/local/lib/python3.9/subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/local/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'pkg-config --cflags mysqlclient' returned non-zero exit status 1.

ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/py-mysqlclient

Approved by:	portmgr (blanket)
Reference:	https://pkg-status.freebsd.org/beefy16/data/131amd64-default/0f3f003a3111/logs/py39-mysqlclient-2.2.0.log [1]
2023-07-09 18:31:54 +08:00
Jochen Neumeister
fea9d2e9a4 databases/mysql80-*: Update to latest release 8.0.32
Bugs Fixed

    Important Change: The implementation of the max_join_size system variable, although documented as a maximum number of rows or disk seeks, did not check the number of rows or disk seeks directly, but instead treated max_join_size as the maximum estimated cost to permit. While cost and row count are correlated, they are not the same, and this could lead to unexpected results when some large queries were allowed to proceed.

    In this release, we change how max_join_size is used, so that it now actually limits the maximum number of row accesses in base tables. If the estimate indicates that a greater number of rows must be read from the base tables, an error is raised. This makes the actual behavior better reflect what is documented. (Bug #83885, Bug #25118903)

    InnoDB: Undetectable problems after upgrade from 8.0.28, crash and corruption.

    Any new row inserted after upgrade will have all columns added with ALGORITHM=INSTANT materialized and have version=0.

    In the new implementation, a column added with ALGORITHM=INSTANT will fail if the maximum possible size of a row exceeds the row size limit. So new rows with materialized ALGORITHM=INSTANT columns will always be within row size limit. (Bug #34558510)

    InnoDB: No more garbled UTF characters in SHOW ENGINE INNODB STATUS

    Thank you Iiwo Panowicz for reporting this bug. (Bug #34486877, Bug #108111)

    InnoDB: After a column added with ALGORITHM=INSTANT, an online rebuild DDL no longer crashes.

    Thank you Qingda Hu for reporting this bug. (Bug #33788578, Bug #106279)

    InnoDB: Several adaptive hash index (AHI) code optimizations and improvements were implemented, addressing various issues including potential race conditions. (Bug #33601434)

    Replication: When SOURCE_HEARTBEAT_PERIOD was set to a very small value (such as 1 microsecond) on the server using CHANGE REPLICATION SOURCE TO, and the mysqlbinlog client program was started with --read-from-remote-server and --stop-never=1, it was possible for the binary log dump thread to send an EOF packet to the client before all events had been sent. (Bug #34860923)

    Replication: Removed an assert from sql/rpl_group_replication.cc which triggered a false error in testing. (Bug #34619134)

    Replication: After MySQL was started with --server-id=0, trying to change the server ID by using SET PERSIST server_id=N (where N is an integer greater than zero) and restarting the server had the following results:

        SELECT @@server_id returned N.

        Any replication SQL statement such as START REPLICA was rejected with ER_SLAVE_CONFIGURATION.

    To fix this problem, we now ensure that such checks use the value of the server variable rather than the value passed to the startup option. (Bug #34412816)

    Replication: When replicating compressed binary log events generated by the NDB binary log injector, relay log positions were not updated in the multithreaded applier, thus causing replication to hang. (Bug #33889030)

    References: See also: Bug #33784241.

    Replication: Issuing STOP REPLICA SQL_THREAD while the SQL thread was handling a transaction caused replication to stop immediately, instead of waiting 60 seconds for the event group to complete before shutting down the SQL thread as expected.

    The root cause of this issue was due to the internal variable storing the last event start time not being reset after the SQL thread was restarted.

    We fix this by resetting the variable holding the last event start time whenever the SQL thread is started. (Bug #33646899)

    Replication: While their wording might imply otherwise, the log messages Setting super_read_only=ON (ER_GRP_RPL_SUPER_READ_ON) and Setting super_read_only=OFF (ER_GRP_RPL_SUPER_READ_OFF) were written only after the operations were attempted, and not beforehand, or while the operations were ongoing. This sometimes led to confusion when setting the variable was rejected, and this was logged prior to the set attempt itself being logged. To keep this from happening, these messages are now logged just prior to attempting the operation. (Bug #108843, Bug #34728079)

    Replication: The relay_log_space_limit system variable is a 64-bit value, but its valid maximum was specified internally as that of a 32-bit value. (Bug #106323, Bug #33799840)

    Replication: Eliminated an unnecessary update of the gtid_executed table which was performed when rotating the binary logs. (Bug #106116, Bug #33759477)

    Group Replication: The WRITE_CONSENSUS_SINGLE_LEADER_CAPABLE column of the MySQL Performance Schema's replication_group_communication_information table reflects the runtime value of a Paxos Single Leader setup in a group, letting users know what the value of group_replication_paxos_single_leader must be on joining members.

    A group that was bootstrapped with single-leader enabled but with its protocol version downgraded to one that did not support it reported WRITE_CONSENSUS_SINGLE_LEADER_CAPABLE equal to 0, as expected, but attempting to join an instance to the group using group_replication_paxos_single_leader = 0 was not possible.

    To solve this problem, we change the behaviour and make the value of group_replication_paxos_single_leader consistent with the communication version that the group is running. Since this variable was introduced in MySQL 8.0.27, it is not known or used in any previous version, and so we now enforce the following rules:

        When a node tries to join a group that is running MySQL 8.0.26 or earlier and we are version 8.0.27 or later, we reject the attempt with an error stating that group_replication_paxos_single_leader must be OFF before joining the group

        When we try to use group_replication_set_communication_protocol() to set a version less than 8.0.27 and we are of version 8.0.27 or later, we reject the function call if group_replication_paxos_single_leader is not OFF.

    In addition, we also change the value checked to determine whether changing the group leader is allowed after running group_replication_set_communication_protocol(). Previously, this was the runtime value of group_replication_paxos_single_leader, which takes effect only after a group reboot. Instead, when we run group_replication_set_communication_protocol(), we now use the value shown by the replication_group_communication_information table's WRITE_CONSENSUS_SINGLE_LEADER_CAPABLE column, described previously. (Bug #34555045, Bug #34828311)

Full Changelog: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-32.html

Sponsored by: Netzkommune GmbH
2023-02-14 07:18:29 +01:00
Guido Falsi
9f33a32191 databases/mysql80-server: Fix build with LLVM15
This Patch fix an LLVM15 Problem on CURRENT

PR:	269442
Reported by:	madpilot
Sponsored by:	Netzkommune GmbH
2023-02-12 02:24:41 +01:00
Felix Palmen
613e9baa1d databases/mysql80-server: Fix build with libressl
PR:			267672
Approved by:		joneum (maintainer), tcberner (mentor)
Differential Revision:	https://reviews.freebsd.org/D37673
2022-12-13 18:45:30 +01:00
Jochen Neumeister
315977f1bd databases/mysql80-server: fix build on armv7
PR:	267422
Sponsored by:	Netzkommune GmbH
2022-12-02 14:14:14 +01:00
Jochen Neumeister
1bc699507c databases/mysql80-server: Update my.cnf.sample
Update deprecated configs in my.cnf.sample

Some configs in my.cnf.sample are now deprecated. These should be replaced with their replacement, or removed if there is no replacement.

- Replace deprecated slave-load-tmpdir with replica-load-tmpdir
- Remove deprecated master-info-repository (it was set to the default)
- Remove deprecated relay-log-info-repository (it was set to the default)
- Replace deprecated expire_logs_days with binlog_expire_logs_seconds (multiply 30 days by 24 * 60 * 60)
- Replace deprecated innodb_log_file_size with innodb_redo_log_capacity (preserving the same configured capacity, which was set to 256M * 2 log files)
- Remove deprecated skip-symbolic-links (it is the default)

PR:	266511
Sponsored by:	Netzkommune GmbH
2022-10-29 17:08:22 +02:00
Dan Langille
92b5359cdf databases/and_others: Fix rc.d script comment
I found this typo while researching something else. It seems to have
propgated around the tree.

Approved by:	blanket
2022-10-26 16:55:27 +00:00
Jochen Neumeister
b5daf80a26 databases/mysql80-*: Update to latest release 8.0.30
PR:	265468

Bugs Fixed:
- InnoDB: A TRUNCATE TABLE operation failed to remove data dictionary entries for columns that were dropped using ALGORITHM=INSTANT.
- InnoDB: An incorrect nullable column calculation on tables with instantly added columns caused data to be interpreted incorrectly
- InnoDB: The read_2_bytes() function in the InnoDB sources, which reads bytes from the log buffer, returned a null pointer.
- Replication: The COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE column in the Performance Schema table replication_group_member_stats could persistently show transactions related to view change events (View_change_log_event) that had already been applied. These events are queued in the Group Replication applier channel but applied in the Group Replication recovery channel, causing a race condition that could result in the counter decrement being lost. The increment of the count now takes place at a more suitable point, and the counter for COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE is also now set to zero when the applier is not busy.
- Debug MySQL binaries can now be built using -0g and -fno-inline.

See full Changelog here: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html

Sponsored by:	Netzkommune GmbH
2022-09-15 16:34:27 +02:00
Jochen Neumeister
0517374e45 databases/mysql80-{client, server}: Update to latest release 8.0.29
Bugs Fixed

    InnoDB: A failure occurred when attempting to purge undo records for a table with an instantly added column. (Bug #33924532)

    InnoDB: High-priority transactions were not permitted to stop waiting when interrupted or to timeout while waiting for a lock, preventing deadlocks from being resolved. In cases where the blocking transaction is also high-priority, high-priority transactions are now permitted to stop waiting when interrupted or timeout when exceeding the lock wait timeout period. If a blocking transaction is not high-priority, high-priority transactions wait for the blocking transaction to release its locks. (Bug #33856332)

    InnoDB: The AIO synchronization queue used on Windows was removed. The synchronous file I/O read-write function (SyncFileIO::execute) was revised to handle files opened for both normal and overlapped I/O, as it does on Linux. (Bug #33840645)

    InnoDB: Table version metadata was not reset after truncating all partitions of a table with an instantly added column. (Bug #33822729)

    InnoDB: The srv_error_monitor_thread() function, which prints warnings about semaphore waits, failed to handle a long semaphore wait as expected. To address this issue, a blocking call was moved to a more appropriate location. Related monitor thread code was simplified and improved, and missing shutdown signals were added for several server threads.

    Enabling and disabling of the standard monitor by InnoDB is now performed independently of the user-settable innodb_status_output variable. This change addresses an issue in which the monitor was enabled by InnoDB in a particular scenario but not set back to its previous value. Thanks to Yuhui Wang for the contribution. (Bug #33789526, Bug #93878)

    InnoDB: Valgrind testing identified an off-by-one error in rec_convert_dtuple_to_rec_old() in the InnoDB sources. (Bug #33784672)

    InnoDB: The UNIV_DEBUG variant of the mem_heap_alloc() function in the InnoDB sources was modified to improve Valgrind error detection. (Bug #33783709)

    InnoDB: A fast shutdown did not wait for all active I/O operations to finish before closing all files. (Bug #33768584)

    InnoDB: A Clang warning reported an incorrectly placed @return command. (Bug #33734011)

    InnoDB: Values of the new record locks array (m_prebuilt->new_rec_locks[]) were not properly synchronized when switching between partitions, causing an assertion failure due to locks being freed or not freed as expected. (Bug #33724166)

    InnoDB: A race condition in the function that updates the double write buffer when a write request is completed caused a long semaphore wait error. (Bug #33712370)

    InnoDB: A function wrongly assumed that changing a record in an indexed column always requires creating a new record in the secondary index, resulting in an lock-related assertion failure. To address this and other similar cases, the lock_rec_convert_impl_to_expl() function that converts an implicit record lock to an explicit record lock is now used only when an implicit record lock is actually held. (Bug #33657235)

    InnoDB: A number of Doxygen issues in the InnoDB sources were addressed. (Bug #33603036)

    InnoDB: A missing null pointer check for an index instance caused a failure. (Bug #33600109)

Full (and long) relnotes: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-29.html

Sponsored by:	Netzkommune GmbH
2022-05-03 18:58:49 +02:00
Jochen Neumeister
8db2be1cbd databases/mysql80-*: Fix build with LibreSSL
PR:	261164
Sponsored by:	Netzkommune GmbH
2022-03-05 11:20:14 +01:00
Daniel O'Connor
b042a3d8ca databases/mysql80-server: Fix build on aarch64
- Replace getauxval with the FreeBSD variant (elf_aux_info)
  - ifdef some gcc'ism and pass the correct cflags for clang

Approved by:	portmgr (build fix blanket)
PR:		261660
2022-02-27 18:12:20 +01:00
Dima Panov
c4ac829e97 databases/mysql80-server: bring back mysql_secure_installation (+)
Typo in patchfile leads to skip mysql_secure_installation.
Bring it back.

PR:		262123
Submitted by:	amdmi3
Approved by:	joneum (implicit)
2022-02-22 22:36:22 +03:00
Jochen Neumeister
8f38dec292 databases/mysql80-server: Fix typo
Sponsored by:	Netzkommune GmbH
2022-02-10 23:13:12 +01:00
Jochen Neumeister
b8d235ae4f databases/mysql80-*: Update to 8.0.28
Changelog: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-28.html

Sponsored by:	Netzkommune GmbH
2022-01-28 16:32:16 +01:00
Jochen Neumeister
a025389152 databases/mysql80-server: add patch for malloc-lib
forked from mysql57-server: https://svnweb.freebsd.org/changeset/ports/548590
Log:
  MySQL 5.7 mysqld_safe allows malloc-lib files only in certain locations.
  google-perftools port puts libtcmalloc_minimal.so inside /usr/local/lib
  To use tcmalloc memory allocator we need mysqld_safe to load libraries from /usr/local/lib

  More information about why to use tcmalloc instead of jemalloc here:

  https://forums.freebsd.org/threads/freebsd-12-x-and-mysql-5-7-and-importing-file-with-lots-of-small-lines-exhaust-ram-and-swap.72733/

PR:	259816
Sponsored by:	Netzkommune GmbH
2022-01-07 13:13:17 +01:00
Jochen Neumeister
ea739e8990 databases/mysql80-*: Update to 8.0.27
Release Notes: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-27.html

Sponsored by:	Netzkommune GmbH
2021-11-25 08:17:30 +01:00
Rene Ladan
620968a43a cleanup: drop support for EOL FreeBSD 11.X
Search criteria used:
- 11.4
- OSREL*
- OSVER*
- *_FreeBSD_11

Input from:
- adridg: devel/qca-legacy
- jbeich: _WITH_DPRINTF, _WITH_GETLINE, GNU bfd workarounds
- sunpoet: security/p5-*OpenSSL*

Reviewed by:	doceng, kde, multimedia, perl, python, ruby, rust
Differential Revision: https://reviews.freebsd.org/D32008
Test Plan: make index
2021-09-30 23:23:30 +02:00
Jochen Neumeister
84cc7ae5a0 databases/mysql80-*: update to 8.0.26
Release notes: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-26.html

Sponsored by:	Netzkommune GmbH
2021-08-26 19:52:40 +02:00
Dima Panov
c7fbbf15f3 databases/mysql80-*: update to 8.0.25 GA release
Release notes:	https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-25.html
		https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-24.html

PR:		255937
Submitted by:	delphij@
Approved by	joneum@ (implicit)
MFH:		2021Q2
2021-05-20 22:07:45 +10:00
Mathieu Arnold
135fdeebb9
all: Remove all other $FreeBSD keywords. 2021-04-06 16:31:13 +02:00
Dima Panov
881521eb1d databases/mysql80-server: regen patch-client_CMakeLists.txt
PR:		253198
2021-02-03 14:12:27 +00:00
Dima Panov
869065a333 mysql80-server: adjust router/harness_tls building 2021-02-03 02:26:43 +00:00
Dima Panov
970e986713 databases/mysql80-server: Fix patches after rename
Pointy hat to:	fluffy
2021-02-03 02:20:42 +00:00
Dima Panov
ce42d0f84c databases/mysql80*: update to 8.0.23
Disable detect of TLSv1.3 functions - it's broken with LibreSSL

Release Notes:	https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-23.html
Requested by:	joneum
2021-02-03 02:09:28 +00:00
Alexey Dokuchaev
ea792bc021 Fix a silly typo in the comment. 2020-11-13 03:13:52 +00:00
Piotr Kubaj
b2ea8e3655 databases/mysql80-server: fix build on GCC architectures
Include sys/types.h to make u_int32_t available:
/usr/include/netinet/ip6.h:77:4: error: 'u_int32_t' does not name a type; did you mean 'uint32_t'?

MFH:		2020Q4 (fix build blanket)
2020-11-09 02:00:04 +00:00
Jan Beich
6d5d6429d5 devel/icu: update to 68.1
Changes:	http://site.icu-project.org/download/68
ABI:		https://abi-laboratory.pro/tracker/timeline/icu4c/
Reported by:	GitHub (watch releases)
2020-11-03 00:56:26 +00:00
Jochen Neumeister
ea2e210f27 databases/mysql80-{client, server}: Update to latest release 8.0.22
Full Changelog: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-22.html

MFH:		2020Q4
Security:	4fba07ca-13aa-11eb-b31e-d4c9ef517024
Sponsored by:	Netzkommune GmbH
2020-10-29 10:20:18 +00:00
Jochen Neumeister
0e8b25892a Fix pkg-messages
PR:		250340
Submitted by:	0mp
Sponsored by:	Netzkommune GmbH
2020-10-16 20:43:57 +00:00
Jochen Neumeister
904e2c69b7 databases/mysql80-{client, server}: Update to latest release 8.0.21
Full Changelog: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-21.html

Submitted by:	fluffy
MFH:		2020Q3
Security:	0ed71663-c369-11ea-b53c-d4c9ef517024
Sponsored by:	Netzkommune GmbH
2020-07-14 18:00:34 +00:00
Jochen Neumeister
19679c5f4e databases/mysql80-{client, server}: Update to latest release 8.0.20
- Performance: Certain queries against tables with spatial indexes were not performed as efficiently following an upgrade from MySQL 5.7 to MySQL 8.0.
- NDB Cluster: NDB defines one SPJ worker per node owning a primary partition of the root table. If this table used read from any replica, DBTC put all SPJ workers in the same DBSPJ instance, which effe
- NDB Cluster: Executing the SHOW command using an ndb_mgm client binary from NDB 8.0.16 or earlier to access a management node running NDB 8.0.17 or later produced the error message Unknown field: is_s
- On EL7 and EL8, CMake configuration was adjusted to look for GCC 9 before GCC 8. Because libmysqlclient ships with MySQL distributions, client applications built against libmysqlclient on those platfo
- The max_length_for_sort_data system variable is now deprecated due to optimizer changes that make it obsolete and of no effect.

More Infos: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-20.html

Special thanks to: fluffy

MFH:		2020Q2
Security:	21d59ea3-8559-11ea-a5e2-d4c9ef517024 (MySQL - Server)
Security:       622b5c47-855b-11ea-a5e2-d4c9ef517024 (MySQL - Client)
Sponsored by:	Netzkommune GmbH
2020-05-07 11:51:14 +00:00
Jochen Neumeister
17ca1d5307 Fix build on non-x86 and nun-aarch6
PR:		244073
Submitted by:	pkubaj
MFH:		2020Q1
Sponsored by:	Netzkommune GmbH
2020-02-28 22:04:41 +00:00
Jochen Neumeister
152db2a96e databases/mysql80-{client, server}: Update to latest release 8.0.19
- New FPROFILE_GENERATE and FPROFILE_USE CMake options are available for experimenting with profile guided optimization (PGO) with GCC. See the cmake/fprofile.cmake in a MySQL source distribution for information about using them. These options have been tested with GCC 8 and 9, and with Clang.
- Enabling FPROFILE_USE also enables WITH_LTO (link time optimization).
- Innodb_system_rows_read, Innodb_system_rows_inserted, Innodb_system_rows_deleted status variables were added for counting row operations on InnoDB tables that belong to system-created schemas. The new status variables are similar to the existing Innodb_rows_read, Innodb_rows_inserted, Innodb_rows_deleted status variables, which count operations on InnoDB tables that belong to both user-created and system-created schemas.
- The new status variables are useful in replication environments where relay_log_info_repository and master_info_repository variables are set to TABLE, resulting in higher row operation counts on slaves due to operations performed on the slave_master_info, slave_replay_log_info, and slave_worker_info tables, which belong to the system-created mysql schema. For a valid comparison of master and slave row operation counts, operations on tables in system-created schemas can now be excluded using the count data provided by the new status variables.

More infos: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-19.html

Submitted by:	fluffy
Approved by:	mmokhi (maintainer, implicit)
Sponsored by:	Netzkommune GmbH
2020-01-15 20:06:49 +00:00
Jochen Neumeister
342c784ae3 databases/mysql80-{client, server}: Update to latest release 8.0.18
switch patch-files to mysql80-server to make it easy for maintain.

Bugfix:
- CMake now enables use of fastcov if it is available. fastcov is faster than lcov or gcov. This requires GCC and gcov versions of 9 or higher.
- The DISABLE_SHARED CMake option was unused and has been removed.
- The CMake code to find Protobuf executables now works on platforms that split these into multiple packages.
- The new ADD_GDB_INDEX CMake option determines whether to enable generation of a .gdb_index section in binaries, which makes loading them in a debugger faster. The option is disabled by default. It has no effect if a linker other than lld or GNU gold is used.
- For the INSTALL_LAYOUT CMake option, the SLES and WIN option values were not used and have been removed.
- The max_prepared_stmt_count system variable maximum value has been increased from 1 million (1,048,576) to 4 million (4,194,304). The default value remains unchanged at 16,382.
- MySQL 8.0 no longer supports building using wolfSSL. All MySQL builds now use OpenSSL.
- The RE2 library is no longer used by MySQL. The library is no longer bundled with source distributions and the WITH_RE2 CMake option is obsolete.

More Infos: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-18.html

A big thanks to @fluffy for his help with this update

MFH:		2020Q1
Security:	fc91f2ef-fd7b-11e9-a1c7-b499baebfeaf
Sponsored by:	Netzkommune GmbH
2020-01-08 16:47:12 +00:00
Jochen Neumeister
876164c2f6 Get rid of useless and unfilled libdata/pkgconfig/LIBMYSQL_OS_OUTPUT_NAME-NOTFOUND.pc
for server bundle, right .pc file is already installed by client package

PR:		242488
Reported by:	fluffy
Approved by:	mmokhi (maintainer, implicit)
Sponsored by:	Netzkommune GmbH
2019-12-10 10:26:10 +00:00
Mahdi Mokhtari
aefc391f38 databases/mysql80-{client, server}: Update to latest release 8.0.17
This update includes security fixes on issues that are
mentioned on upstream critical patch report.
Further info:
https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html#AppendixMSQL

Delete upstream-merged patches
Change other local-patches according upstream changes

PR:		239272
Reported by:	Markus Kohlmeyer <rootservice@gmail.com>
Sponsored by:	EuroBSDCon 2019 DevSummit
2019-09-19 12:33:40 +00:00
Sunpoet Po-Chuan Hsieh
70ffc9c0fd Update devel/protobuf to 3.8.0
- Bump PORTREVISION of dependent ports for shlib change

Changes:	https://github.com/protocolbuffers/protobuf/releases
PR:		238808
Exp-run by:	antoine
2019-07-05 19:08:49 +00:00
Mahdi Mokhtari
ba6bcabbdf databases/mysql80-{client, server}: Update to latest release 8.0.16
This update includes:
Bugfixes:
- InnoDB: Undo tablespaces remained unencrypted after enabling
    undo tablespace encryption at startup. (Bug #29477795)
- InnoDB: Problematic macros introduced with undo tablespace DDL support
    (Bug #29324132, Bug #94243).
- InnoDB: Static thread local variables defined at the wrong scope
    were not released at thread exit. (Bug #29305186)
-  Memory leaks discovered in the innochecksum  (Bug #28917614, Bug #93164).

New features:
- MySQL C API now supports asynchronous functions for
    nonblocking communication with the MySQL server.
- MySQL now supports a new Chinese collation, utf8mb4_zh_0900_as_cs
- CMake now causes the build process to link with the llvm lld linker
    for Clang if it is available.

Security Fix:
CVE-2019-2632, CVE-2019-2693, CVE-2019-2694, CVE-2019-2695 and other fixes.
More info: https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html#AppendixMSQL

PR:		237399
Reported by:	Brent Busby <brent@jfi.uchicago.edu>
Sponsored by:	The FreeBSD Foundation
2019-05-11 14:15:44 +00:00
Mahdi Mokhtari
dcc891e0be databases/mysql80-{client, server}: Update to latest release 8.0.14
This update (released on Jan 21st) includes:
Bugs Fixed:
  Important Change: Fix importing a dump from a MySQL 5.7 server 8.0 failure.
    (ER_WRONG_VALUE_FOR_VAR, when an unsupported [by 8.0] SQL mode was used).
    The behavior of the server in such circumstances now depends on the setting of the
    `pseudo_slave_mode` system variable.
    If this is false, the server rejects the mode setting with ER_UNSUPPORTED_SQL_MODE.
    Otherwise, server just gives a warning. (Bug #90337, Bug #27828236).

  InnoDB: Properly initialize the static thread-local 'tables' variable in
    the TempTable storage engine (on Solaris X86) was not properly initialized.
    (Bug #28987365)

  InnoDB: Fix incorrect lock order caused a deadlock when one thread attempted to
    drop a table while another created an encrypted tablespace. (Bug #28774259)

More info from upstream:
  https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-14.html

While here, Adapt some local patches with new upstream changes.

PR:		234984
Sponsored by:	The FreeBSD Foundation
2019-01-26 18:36:14 +00:00
Mahdi Mokhtari
017db20ddf databases/mysql80-{client, server}: Update ports to latest version 8.0.13
This update fixes several issues including CVEs.
Bug-fixes:
	- Return better error messages for OpenSSL errors
	- Incorrect copying of an integer value by X Plugin caused an
	    error relating to misaligned memory access
Improvement:
	- Important Change: X Protocol now provides a connection pooling option

Upstream notes: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-13

While here, fix the build with GCC-based architectures too (ported from fix on MySQL57)

Sponsored by:	The FreeBSD Foundation
2019-01-13 23:24:27 +00:00
Mahdi Mokhtari
a4712e3bc2 databases/mysql80-server: Delete no-longer-needed patch for sse4.2
Reported by:	jbeich
Sponsored by:	The FreeBSD Foundation
2018-08-13 19:48:42 +00:00
Mahdi Mokhtari
493b0d8731 databases/mysql80-server: Fix build on default Clang of 10.4-base
Add sse4.2 flag to CXXFLAGS on 10.4 case.
The build-script needs it when using intrin lib on crc32

Sponsored by:	The FreeBSD Foundation
2018-08-12 19:10:43 +00:00
Mahdi Mokhtari
ad97e3ac48 databases/mysql80-{client, server}: Update ports to 8.0.12
This update includes Oracle Critical Patch Advisory published on July 2018
More info:
http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html#AppendixMSQL
Also:
Delete upstreamed hunks of patches.
Change local patches regarding upstream changes.

PR:		229861
Reported by:	Markus Kohlmeyer <rootservice@gmail.com>
Sponsored by:	The FreeBSD Foundation
2018-08-11 20:22:16 +00:00
Mahdi Mokhtari
acca27b6ca databases/mysql80-{client,server}: Upgrade the ports to GA version 8.0.11
Fix build with LibreSSL and OpenSSL-devel ports as well

MySQL 8.0.11 is the General Availability (GA) version of MySQL 8.
MySQL since this version supports FIPS-mode, if compiled using OpenSSL, AND
    an OpenSSL library and FIPS Object Module are available at runtime.
    FIPS mode imposes conditions on cryptographic operations such as
    restrictions on acceptable encryption algorithms or requirements for longer key lengths.
    The --ssl-fips-mode client option enables control of FIPS mode on the client side for:
    mysql, mysqladmin, mysqlbinlog, mysqlcheck, mysqldump, mysqlimport, mysqlpump, ...
This update includes bugfixes including (not limited to):
-InnoDB: The server was stopped before a fatal error message
    was written to the error log.
-InnoDB: An incorrect GROUP BY result was returned when using the
    TempTable storage engine and a NO PAD collation.
-InnoDB: The data retrieved from INFORMATION_SCHEMA.INNODB_COLUMNS was
    incorrect for tables containing a virtual column.

Full Release-Notes are available at:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html
2018-05-12 15:35:25 +00:00
Mahdi Mokhtari
d5111919e9 databases/mysql80-server: Adapt ${name}_limits to the new mechanism
Regarding to the changes to rc.subr(8) it is no longer necessary to
define a resource limiting logic in service scripts.
limits(1) is now run by default and its configuration is handled
via the "${name}_limits" variable.
This however causes collision of variable names and also is not
compatible with the old mechanism.
This fixes the rc-script of mysql80 for the bases with both
old and new mechanism.
(This is port of the r466505 [and r466506])

PR:		227231
Submitted by:	0mp
Reported by:	0mp
Sponsored by:	Netzkommune GmbH
2018-04-04 21:01:28 +00:00
Mahdi Mokhtari
1a952ad776 databases/mysql57-server: Fix rc-script ${name}_limits conflict for post-r328331 base
This is port of r461217
2018-02-08 12:45:56 +00:00
Mahdi Mokhtari
40a0e27769 databases/mysql80-{server, client}: Update port to the latest release 8.0.2
Changes happened into format of --version which caused r450384

Reviewed by:	mat (mentor)
Approved by:	mat (mentor)
Sponsored by:	Netzkommune GmbH
Differential Revision:	https://reviews.freebsd.org/D12579
2017-10-06 15:44:18 +00:00
Mahdi Mokhtari
b9db446854 databases/mysql{56 57 80}:
Improve ${mysql_optfile} default usage in rc script.
Improve pkg-message.

Reviewed by:	feld, mat
Approved by:	feld, mat (mentors)
Differential Revision:	https://reviews.freebsd.org/D9646
2017-02-22 17:25:22 +00:00
Dmitry Marakasov
8244fe99bc - Remove always-true/false conditions after FreeBSD 9, 10.1, 10.2 EOL
Approved by:	portmgr blanket
2017-01-11 10:08:38 +00:00