修复模式权限校验

This commit is contained in:
TinyBag
2024-07-25 11:07:14 +08:00
parent 6d1a4a8c98
commit e7cbdfbe90
3 changed files with 70 additions and 4 deletions

View File

@ -2033,10 +2033,8 @@ static Query* ApplyRetrieveRule(Query* parsetree, RewriteRule* rule, int rt_inde
/* default is definer in b format database */
checkAsUser = RelationGetOwner(relation);
}
if (checkAsUser != RelationGetOwner(relation)) {
/* set all relations' and functions' invoker information */
query_tree_walker((Query *)rule_action, (bool (*)())viewSecurityPassDown, (void *)&checkAsUser, QTW_EXAMINE_RTES);
}
/* set all relations' and functions' invoker information */
query_tree_walker((Query *)rule_action, (bool (*)())viewSecurityPassDown, (void *)&checkAsUser, QTW_EXAMINE_RTES);
} else if (RelationHasViewSecurityOption(relation)) {
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),