mirror of
https://github.com/postgres/postgres.git
synced 2025-07-11 10:01:57 +03:00
Rename pg_rowsecurity -> pg_policy and other fixes
As pointed out by Robert, we should really have named pg_rowsecurity pg_policy, as the objects stored in that catalog are policies. This patch fixes that and updates the column names to start with 'pol' to match the new catalog name. The security consideration for COPY with row level security, also pointed out by Robert, has also been addressed by remembering and re-checking the OID of the relation initially referenced during COPY processing, to make sure it hasn't changed under us by the time we finish planning out the query which has been built. Robert and Alvaro also commented on missing OCLASS and OBJECT entries for POLICY (formerly ROWSECURITY or POLICY, depending) in various places. This patch fixes that too, which also happens to add the ability to COMMENT on policies. In passing, attempt to improve the consistency of messages, comments, and documentation as well. This removes various incarnations of 'row-security', 'row-level security', 'Row-security', etc, in favor of 'policy', 'row level security' or 'row_security' as appropriate. Happy Thanksgiving!
This commit is contained in:
@ -177,7 +177,7 @@ standard_planner(Query *parse, int cursorOptions, ParamListInfo boundParams)
|
||||
glob->lastPHId = 0;
|
||||
glob->lastRowMarkId = 0;
|
||||
glob->transientPlan = false;
|
||||
glob->has_rls = false;
|
||||
glob->hasRowSecurity = false;
|
||||
|
||||
/* Determine what fraction of the plan is likely to be scanned */
|
||||
if (cursorOptions & CURSOR_OPT_FAST_PLAN)
|
||||
@ -255,7 +255,7 @@ standard_planner(Query *parse, int cursorOptions, ParamListInfo boundParams)
|
||||
result->relationOids = glob->relationOids;
|
||||
result->invalItems = glob->invalItems;
|
||||
result->nParamExec = glob->nParamExec;
|
||||
result->has_rls = glob->has_rls;
|
||||
result->hasRowSecurity = glob->hasRowSecurity;
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -1208,7 +1208,7 @@ grouping_planner(PlannerInfo *root, double tuple_fraction)
|
||||
* This may add new security barrier subquery RTEs to the rangetable.
|
||||
*/
|
||||
expand_security_quals(root, tlist);
|
||||
root->glob->has_rls = parse->hasRowSecurity;
|
||||
root->glob->hasRowSecurity = parse->hasRowSecurity;
|
||||
|
||||
/*
|
||||
* Locate any window functions in the tlist. (We don't need to look
|
||||
|
Reference in New Issue
Block a user