diff options
| author | Joe Conway | 2015-07-28 23:24:01 +0000 |
|---|---|---|
| committer | Joe Conway | 2015-07-28 23:24:01 +0000 |
| commit | d824e2800f66f6180189d973c720611855c6f619 (patch) | |
| tree | 2a2700c0a3180d82a5afb6a2d3e034ced3542867 /src/include/commands | |
| parent | f781a0f1d88411978c9df5f05cbb4f46aabe3d24 (diff) | |
Disallow converting a table to a view if row security is present.
When DefineQueryRewrite() is about to convert a table to a view, it checks
the table for features unavailable to views. For example, it rejects tables
having triggers. It omits to reject tables having relrowsecurity or a
pg_policy record. Fix that. To faciliate the repair, invent
relation_has_policies() which indicates the presence of policies on a
relation even when row security is disabled for that relation.
Reported by Noah Misch. Patch by me, review by Stephen Frost. Back-patch
to 9.5 where RLS was introduced.
Diffstat (limited to 'src/include/commands')
| -rw-r--r-- | src/include/commands/policy.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/commands/policy.h b/src/include/commands/policy.h index ac322e0db9..be00043231 100644 --- a/src/include/commands/policy.h +++ b/src/include/commands/policy.h @@ -31,5 +31,6 @@ extern Oid get_relation_policy_oid(Oid relid, const char *policy_name, extern ObjectAddress rename_policy(RenameStmt *stmt); +extern bool relation_has_policies(Relation rel); #endif /* POLICY_H */ |
