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

Use MySqlConnector for async I/O #241

Open
bgrainger opened this issue Apr 24, 2022 · 2 comments
Open

Use MySqlConnector for async I/O #241

bgrainger opened this issue Apr 24, 2022 · 2 comments

Comments

@bgrainger
Copy link

The Xtensive.Sql.Drivers.MySql.Connection code uses ExecuteNonQueryAsync. It's a long-standing bug in MySql.Data (bug 70111) that async I/O is not implemented correctly; thus all these methods will actually run synchronously. (See also here and here on Stack Overflow.)

To fix this, you could switch to https://github.com/mysql-net/MySqlConnector, an OSS replacement for MySql.Data that supports true asynchronous I/O.

If you're interested in this, I'd be happy to open a PR.

@alex-kulakov
Copy link
Contributor

Hello bgrainger,

We need to think of it and of course weight side-effects of having non-official connector.

What are supported versions of MySQL? Maybe some were excluded from support list? We have pretty old versions of MySQL in supported list, and I didn't see list of supported versions on the page of the repository so I have to ask about that.

In case we agreed to use your connector, we would really appreciate your help with connector replacement. I'm pretty sure it won't be hard to replace the current one.

@bgrainger
Copy link
Author

MySqlConnector supports MySQL 5.5 and above (although only 5.6 is regularly tested by integration tests). That's a good suggestion to add it to the documentation.

There's been a request to add support for 5.0 (mysql-net/MySqlConnector#1126) but the lack of prebuilt Docker images for that version makes testing it more challenging.

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

No branches or pull requests

2 participants