Fix crash on unconnectable MySQL server (resolves #33582) #33615
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Fixes a stacktrace-inducing crash when the mysql module was used against a server to which it couldn't connect. Several of the functions in the mysql module didn't check whether the connection was successful before attempting to grab a cursor. Now they do.
What issues does this PR fix or reference?
#33582
Previous Behavior
New Behavior
It now returns an empty array, just like the other module functions do. The states, for their part, detect the error from
__context__
and fail if there was a problem with the connection.Tests written?
Yup:
unit.modules.mysql_test.MySQLTestCase.test_get_slave_status_bad_server