Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ports to 2.1.1 of various PRs from 2.0.16 and 2.0.17 #3286

Merged
merged 18 commits into from
Feb 5, 2021
Merged

Conversation

renecannao
Copy link
Contributor

renecannao and others added 18 commits February 3, 2021 22:23
In mysql_init() charset is set to NULL .
In mysql_read_connect() charset is not changed if already set

This allows proxysql to change it outside the library
This is an extension of commit 1ecb00f about mysql_real_connect

It also changes mysql_optionsv() for MYSQL_SET_CHARSET_NAME
… charset if collation ID is greater or equal than 255 (utf8mb4_0900_ai_ci)

We call mysql_options with MYSQL_SET_CHARSET_NAME if collation ID >= 255 .
This to solve the problem of MySQL server returning an Access denied if the backend doesn't support a collation during mysql_change_user
…erly setting collation specified by the client
Removed duplicated code
Added test for utf8_general_ci too
Added mysql_free_result()
Removed a set of redendant checks
Also remove hardcoded values
When processing COM_CHANGE_USER from a client, we did not parse the charset/collation.
This commit parses and processes also charset in COM_CHANGE_USER
ProxySQL is sending a lot of data to MySQL server using CLIENT_CONNECT_ATTRS in order to not hit MySQL bug https://bugs.mysql.com/bug.php?id=102266 . See also #3276
@JavierJF
Copy link
Collaborator

JavierJF commented Feb 3, 2021

retest this please

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants