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

expression, types: use time.Add() to calculate subtime #32903

Merged
merged 6 commits into from
Mar 16, 2022

Conversation

Defined2014
Copy link
Contributor

@Defined2014 Defined2014 commented Mar 8, 2022

What problem does this PR solve?

Issue Number: close #31868

Problem Summary:
The time.sub() will cause overflow when the gap with duration greatter than 290 years, so use time.add() instead of it. Open a new issue to trace improve time type #32937

What is changed and how it works?

Check List

Tests

  • Unit test
  • Integration test
  • Manual test (add detailed scripts or steps below)
  • No code

Side effects

  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Breaking backward compatibility

Documentation

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Changes MySQL compatibility

Release note

fix builtin func `subtime` get a wrong result

@ti-chi-bot
Copy link
Member

ti-chi-bot commented Mar 8, 2022

[REVIEW NOTIFICATION]

This pull request has been approved by:

  • tiancaiamao
  • xhebox

To complete the pull request process, please ask the reviewers in the list to review by filling /cc @reviewer in the comment.
After your PR has acquired the required number of LGTMs, you can assign this pull request to the committer in the list by filling /assign @committer in the comment to help you merge this pull request.

The full list of commands accepted by this bot can be found here.

Reviewer can indicate their review by submitting an approval review.
Reviewer can cancel approval by submitting a request changes review.

@ti-chi-bot ti-chi-bot added release-note needs-cherry-pick-release-5.0 needs-cherry-pick-release-5.1 needs-cherry-pick-release-5.2 needs-cherry-pick-release-5.3 Type: Need cherry pick to release-5.3 needs-cherry-pick-release-5.4 Type: Need cherry pick to release-5.4 size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Mar 8, 2022
@sre-bot
Copy link
Contributor

sre-bot commented Mar 8, 2022

@Defined2014
Copy link
Contributor Author

/run-check_dev_2

@Defined2014
Copy link
Contributor Author

/run-unit-test

1 similar comment
@Defined2014
Copy link
Contributor Author

/run-unit-test

@Defined2014
Copy link
Contributor Author

/cc @hawkingrei @tangenta @xhebox
PTAL

if err != nil {
return "", false, err
}
tmpDuration := arg0.Sub(sc, &arg1time)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It will cause overflow, so use time.Add instead of it.

@Defined2014 Defined2014 changed the title expression, types: use time.Add() to caculate subtime expression, types: use time.Add() to calculate subtime Mar 9, 2022
@ti-chi-bot ti-chi-bot added the status/LGT1 Indicates that a PR has LGTM 1. label Mar 10, 2022
@Defined2014
Copy link
Contributor Author

/cc @tiancaiamao

@ti-chi-bot ti-chi-bot added status/LGT2 Indicates that a PR has LGTM 2. and removed status/LGT1 Indicates that a PR has LGTM 1. labels Mar 16, 2022
@tiancaiamao
Copy link
Contributor

/merge

@ti-chi-bot
Copy link
Member

This pull request has been accepted and is ready to merge.

Commit hash: 313f055

@ti-chi-bot ti-chi-bot added the status/can-merge Indicates a PR has been approved by a committer. label Mar 16, 2022
@Defined2014
Copy link
Contributor Author

/run-unit-test

@ti-chi-bot ti-chi-bot merged commit 0f343d3 into pingcap:master Mar 16, 2022
@Defined2014 Defined2014 deleted the 31868 branch March 16, 2022 04:56
ti-srebot pushed a commit to ti-srebot/tidb that referenced this pull request Mar 16, 2022
Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
@ti-srebot
Copy link
Contributor

cherry pick to release-5.0 in PR #33125

ti-srebot pushed a commit to ti-srebot/tidb that referenced this pull request Mar 16, 2022
Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
@ti-srebot
Copy link
Contributor

cherry pick to release-5.1 in PR #33126

ti-srebot pushed a commit to ti-srebot/tidb that referenced this pull request Mar 16, 2022
Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
@ti-srebot
Copy link
Contributor

cherry pick to release-5.2 in PR #33127

ti-srebot pushed a commit to ti-srebot/tidb that referenced this pull request Mar 16, 2022
Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
@ti-srebot
Copy link
Contributor

cherry pick to release-5.3 in PR #33128

ti-srebot pushed a commit to ti-srebot/tidb that referenced this pull request Mar 16, 2022
Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
@ti-srebot
Copy link
Contributor

cherry pick to release-5.4 in PR #33129

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-cherry-pick-release-5.0 needs-cherry-pick-release-5.1 needs-cherry-pick-release-5.2 needs-cherry-pick-release-5.3 Type: Need cherry pick to release-5.3 needs-cherry-pick-release-5.4 Type: Need cherry pick to release-5.4 release-note size/M Denotes a PR that changes 30-99 lines, ignoring generated files. status/can-merge Indicates a PR has been approved by a committer. status/LGT2 Indicates that a PR has LGTM 2.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SUBTIME function returns wrong result in DATETIME(N) type
6 participants