Added ReferencesPriv to DB and Table level, see tidb issue 26703 (#1304) #1363
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.
This is an automated cherry-pick of #1304
What problem does this PR solve?
Parser related fix for pingcap/tidb#26703 (ReferencesPriv needs to be on both DB/Schema and Table level).
What is changed and how it works?
In MySQL, the
REFERENCES
privilege can be on both DB and Table level, the Parser definitionAllDBPrivs
andAllTablePrivs
did not includeReferencesPriv
which made TiDB fail when checking it.Check List
Tests
go.mod
changereplace github.com/pingcap/parser => ../parser
to build tidb-server with the locally changed parser repositoryCREATE USER r;
,CREATE SCHEMA reftest;
,USE reftest
,CREATE TABLE t (a int);
,GRANT REFERENCES ON reftest.* TO r;
andGRANT REFERENCES ON reftest.t TO r;
which did succeed, just like in MySQL.Code changes
AllDBPrivs
andAllTablePrivs