Bug 1885641

Summary: python36:3.6 Rebase python-PyMySQL to the 0.10.x release
Product: Red Hat Enterprise Linux 8 Reporter: Michal Schorm <mschorm>
Component: python-PyMySQLAssignee: Michal Schorm <mschorm>
Status: CLOSED ERRATA QA Contact: Lukáš Zachar <lzachar>
Severity: unspecified Docs Contact: Lenka Špačková <lkuprova>
Priority: unspecified    
Version: 8.1CC: databases-maint, hhorak, lbalhar, ljavorsk, lzachar
Target Milestone: rcKeywords: Triaged
Target Release: 8.4   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-PyMySQL-0.10.1-2.module+el8.4.0+9657+a4b6a102 Doc Type: Enhancement
Doc Text:
Documented in Bug 1820628.
Story Points: ---
Clone Of:
: 1920596 (view as bug list) Environment:
Last Closed: 2021-05-18 16:12:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1820628, 1827261, 1920596    

Description Michal Schorm 2020-10-06 15:10:55 UTC
A plan was made to rebase python-PyMySQL to the latest upstream version (currently 0.10.1)

Right now, there are two module streams which PyMySQL is a part of.
In "python36" stream, there is PyMySQL 0.8.0 version,
while in "python38" stream, there is PyMySQL 0.9.3 version

A customer requests has been made to add support for:
  * "caching_sha2_password" authentication mechanism, which is now a default authentication mechanism to connect to MySQL 8.0 database.
    * upstream added support for this authentication mechanism in PyMySQL-0.9.0 with aditional fixes though the 0.9.x release.
  * "auth_ed25519" authentication mechanism, which is used to connect to MariaDB DB and which is more secure than the default one used to connect to MariaDB databases.
    * upstream added support for this authentication mechanism in PyMySQL-0.10.0

---

There is a one particular change which we will need to tak a special care of.
In the PyMySQL-0.9.0 release, the upstream switched the default charset from "latin1" to "utf8mb4".
This was done to align with MySQL 8.0, which switched its default charset to "utf8mb4" too.

Currently, the PyMySQL-0.8.0 in "python36" stream has the old default, while PyMySQL-0.9.3 in the "python38" stream has the new deafult.
To avoid any issues in application which do not set the charset and rely on the default instead, we plan to revert this upstream change in the "python36" stream.

Comment 1 Michal Schorm 2020-10-06 15:18:29 UTC
PyMySQL upstream changelog:
  https://github.com/PyMySQL/PyMySQL/blob/master/CHANGELOG.md

Commit that changed the default charset:
  https://github.com/PyMySQL/PyMySQL/pull/692/files

Comment 15 errata-xmlrpc 2021-05-18 16:12:12 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (python36:3.6 bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:1930