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

Support recognition of MariaDB #176

Closed
mirromutth opened this issue Dec 21, 2023 · 1 comment
Closed

Support recognition of MariaDB #176

mirromutth opened this issue Dec 21, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@mirromutth
Copy link
Contributor

mirromutth commented Dec 21, 2023

MariaDB contains more flags in the last 4 bytes of the 10 bytes filter (the reserved field) of HandshakeV10Request, which expands capabilities to 64 bits.

The CLIENT_MYSQL=1 flag is used to indicate whether to use the MySQL compatible protocol. MariaDB 10.2 and above will unset this flag. If this flag is unset, the server is assumed to be MariaDB.

Note that in the MySQL server, this flag is called LONG_PASSWORD, and it is not currently used by r2dbc-mysql. We can consider reinterpreting it for support MariaDB.

See also https://mariadb.com/kb/en/connection/#capabilities

@mirromutth mirromutth added the enhancement New feature or request label Dec 21, 2023
@mirromutth mirromutth self-assigned this Dec 21, 2023
jchrys added a commit that referenced this issue Jan 9, 2024
Motivation:

See also #176 .

Modification:

Add recognition for MariaDB, and extend Capability to 64-bits.

Result:

Extend Capability to 64-bits, and extended bits will be read and sent at
handshake.

Currently, the driver will unset all MariaDB features, we can enable
them after we support these features.
@mirromutth
Copy link
Contributor Author

Done in PR

@jchrys jchrys added this to the 1.1.0/0.10.0 milestone Feb 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

No branches or pull requests

2 participants