-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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 show push down for ShowTables #31919
*: add show push down for ShowTables #31919
Conversation
[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. |
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/cf0d9ab8afd33c4717c026052aadb1cd6ab16412 |
/run-mysql-test |
c0a1e18
to
fe13415
Compare
/run-mysql-test |
/run-unit-test |
1 similar comment
/run-unit-test |
/run-unit-test |
/run-check_dev |
// It is used in `SHOW TABLE in t LIKE `abc``. | ||
ptn := pattern.Pattern.(*driver.ValueExpr).GetString() | ||
patValue, patTypes := stringutil.CompilePattern(ptn, pattern.Escape) | ||
if !collate.NewCollationEnabled() && stringutil.IsExactMatch(patTypes) { |
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 don't quite understand. Why do you need this logic of !collate.NewCollationEnabled()
? Please help to explain it.
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 is copied from planner/core/expression_rewriter.go:1634.
Treat predicate 'like' the same way as predicate '=' when it is an exact match and new collation is not enabled.
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.
Could remove this if
statement, then use CompileLike2Regexp
directly?
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.
OK, I will remove NewCollationEnabled
condition. but IsExactMatch
still retained. Equal
is faster than regexp
.
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.
Got it.
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
Co-authored-by: Lynn <zimu_xia@126.com>
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
d610b15
to
8245dc2
Compare
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.
LGTM
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 8245dc2
|
Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
cherry pick to release-5.4 in PR #33338 |
// Test with mysql.AllPrivMask means any privilege would be OK. | ||
// TODO: Should consider column privileges, which also make a table visible. | ||
if checker != nil && !checker.RequestVerification(activeRoles, e.DBName.O, v.Meta().Name.O, "", mysql.AllPrivMask) { | ||
continue | ||
} else if FieldFilterEnable && v.Meta().Name.L != fieldFilter { | ||
continue | ||
} else if fieldPatternsRegexp != nil && !fieldPatternsRegexp.MatchString(v.Meta().Name.L) { |
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 don't get it. Can we use the original string of meta info instead of the lower case string to match the pattern? Plz help to explain it. @hawkingrei
Signed-off-by: Weizhen Wang wangweizhen@pingcap.com
What problem does this PR solve?
Issue Number: close #30803
Problem Summary:
What is changed and how it works?
Check List
Tests
Side effects
Documentation
Release note