-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
*: always convert sysvar values when out of range #25686
Conversation
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.
Rest LGTM
But should we consider this PR a compatibility breaker? Not every variable is autoconvert=true
before, right?
I actually don't think it is compatibility breaking since it changes the server to be less strict (versus more strict; which usually is an issue). But it is easy to ague either way. |
52fc485
to
73114d9
Compare
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
/merge |
@morgo: Your PR was out of date, I have automatically updated it for you. At the same time I will also trigger all tests for you: /run-all-tests If the CI test fails, you just re-trigger the test that failed and the bot will merge the PR for you after the CI passes. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
/merge cancel Needs approval first or it will block other merges |
/run-check_dev_2 |
It doesn't 'break' the compatibility but may lead to some changed behaviors(though the chance is little). I tagged 'compatibility breaker' so that it will be noticed. |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: e600b6c
|
What problem does this PR solve?
Issue Number: close #25397
Problem Summary:
In MySQL sysvars that are of the correct type but out of range return a warning and not an error.
Previously TiDB returned an error unless
AutoConvertOutOfRange = true
. NowAutoConvertOutOfRange = true
is permanently set, and the field has become meaningless and removed.The error that TiDB returned was also not helpful (incorrect argument type).
What is changed and how it works?
What's Changed:
When setting a system variable, TiDB now attempts to convert out of range values to the closest approximate value. For example, a value of 501 might be adjusted to the maximum value of 500. This behavior is more compatible with how MySQL accepts system variable values.
Related changes
Check List
Tests
Side effects
Release note