-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Add MariaDB compatibility tests #7198
Conversation
This change should allow us to safely upgrade our MySQL driver version without worrying about breaking compatibility unknowingly. |
// The connection URL is still using mysql to ensure we test MariaDB compatibility with the MySQL connector | ||
return format("jdbc:mysql://%s:%s?useSSL=false&allowPublicKeyRetrieval=true", container.getContainerIpAddress(), container.getMappedPort(3306)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hope that, using mariadb would fail to connect (the connector shouldn't use DriverManager to make the connection)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It fails. But there isn't an explicit test added for it yet.
I am wondering that maybe we should add |
Should we run type mapping tests agains MariaDB as well, per #6910 (comment) ? |
Let's go with current approach, i.e. without separate plugin code, except
|
I'll do each of those over the coming weekend. 👍 |
05c76a8
to
3964fa8
Compare
After all - MariaDB isn't very compatible with the MySQL client @findepi . 😞 There are two issues:
|
That’s a strong argument for having a separate connector for mariadb |
Superseded by #10046 which adds a dedicated MariaDB connector. |
Some duplication can be removed by adding a common base class for TestingMySqlServer and TestingMariaDBServer.
This will allow to remove the MariaDBQueryRunner but the amount of code overall ends up being similar so I left it as is.
Note that we are running the entire BaseConnectorTest against MariaDB to ensure compatibility (e.g. older versions of MariaDB had a different rename column syntax which won't be caught with the smoke tests).