From 80eacaa3cdcd10383c333f6f4625af8cee1f7bee Mon Sep 17 00:00:00 2001 From: Stephen Frost Date: Fri, 14 Nov 2014 16:53:51 -0500 Subject: Clean up includes from RLS patch The initial patch for RLS mistakenly included headers associated with the executor and planner bits in rewrite/rowsecurity.h. Per policy and general good sense, executor headers should not be included in planner headers or vice versa. The include of execnodes.h was a mistaken holdover from previous versions, while the include of relation.h was used for Relation's definition, which should have been coming from utils/relcache.h. This patch cleans these issues up, adds comments to the RowSecurityPolicy struct and the RowSecurityConfigType enum, and changes Relation->rsdesc to Relation->rd_rsdesc to follow Relation field naming convention. Additionally, utils/rel.h was including rewrite/rowsecurity.h, which wasn't a great idea since that was pulling in things not really needed in utils/rel.h (which gets included in quite a few places). Instead, use 'struct RowSecurityDesc' for the rd_rsdesc field and add comments explaining why. Lastly, add an include into access/nbtree/nbtsort.c for utils/sortsupport.h, which was evidently missed due to the above mess. Pointed out by Tom in 16970.1415838651@sss.pgh.pa.us; note that the concerns regarding a similar situation in the custom-path commit still need to be addressed. --- src/backend/rewrite/rowsecurity.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/backend/rewrite/rowsecurity.c') diff --git a/src/backend/rewrite/rowsecurity.c b/src/backend/rewrite/rowsecurity.c index bb95b367198..66c358cdec9 100644 --- a/src/backend/rewrite/rowsecurity.c +++ b/src/backend/rewrite/rowsecurity.c @@ -300,7 +300,7 @@ pull_row_security_policies(CmdType cmd, Relation relation, Oid user_id) * There must always be at least one policy defined (may be the simple * 'default-deny' policy, if none are explicitly defined on the table). */ - foreach(item, relation->rsdesc->policies) + foreach(item, relation->rd_rsdesc->policies) { policy = (RowSecurityPolicy *) lfirst(item); -- cgit v1.2.3