summaryrefslogtreecommitdiff
path: root/src/include/commands
diff options
context:
space:
mode:
authorJoe Conway2015-07-28 23:24:01 +0000
committerJoe Conway2015-07-28 23:24:01 +0000
commitd824e2800f66f6180189d973c720611855c6f619 (patch)
tree2a2700c0a3180d82a5afb6a2d3e034ced3542867 /src/include/commands
parentf781a0f1d88411978c9df5f05cbb4f46aabe3d24 (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.h1
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 */