[BugFix] fix the privilege issue DROP STATS command (backport #55695) #55779
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.
Why I'm doing:
What I'm doing:
Introduced by #55400.
DELETE
sql, it will construct anSELECT
sql to do partition pruning. But the user may have different privilege onDELETE
andSELECT
, which means that user may have privilege toDELETE
but no privilege to performSELECT
DROP STATS xxx
command, it will execute anDELETE FROM table_statistics_v1
SQL, which should use the ROOT user, otherwise may lack the right privilege. But there's a bug with it, which doesn't bind the session to thread-local, soDELETE
still uses the original user but not rootTo address this, we need to do several fixes:
SELECT
inDELETE
, to avoid the privilege issueDROP STATS
and other commandsAlternatives:
DELETE
statement, so we don't have to do it inDeleteMgr
which should be responsible for execution. But unfortunetely we don't have it, and the query plan ofDELETE
is pretty naive.DeleteMgr
, but partition pruning has pretty much dependency on other components like predicate simplification & pushdown, it needs to copy pretty much duplicate code likeStatementPlanner::plan
Fixes #issue
What type of PR is this:
Does this PR entail a change in behavior?
If yes, please specify the type of change:
Checklist: