diff options
| author | Stephen Frost | 2014-11-14 21:53:51 +0000 |
|---|---|---|
| committer | Stephen Frost | 2014-11-14 22:05:17 +0000 |
| commit | 80eacaa3cdcd10383c333f6f4625af8cee1f7bee (patch) | |
| tree | add25b61cd7911e76ca490b9f1eebb4e828178ea /src/backend/commands | |
| parent | 79172a58ea3e858750c93c61d55411a209c5ac69 (diff) | |
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.
Diffstat (limited to 'src/backend/commands')
| -rw-r--r-- | src/backend/commands/policy.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/commands/policy.c b/src/backend/commands/policy.c index 3627539430..10d230ef43 100644 --- a/src/backend/commands/policy.c +++ b/src/backend/commands/policy.c @@ -32,6 +32,7 @@ #include "parser/parse_clause.h" #include "parser/parse_node.h" #include "parser/parse_relation.h" +#include "rewrite/rowsecurity.h" #include "storage/lock.h" #include "utils/acl.h" #include "utils/array.h" @@ -358,7 +359,7 @@ RelationBuildRowSecurity(Relation relation) systable_endscan(sscan); heap_close(catalog, AccessShareLock); - relation->rsdesc = rsdesc; + relation->rd_rsdesc = rsdesc; } /* |
