mirror of
https://github.com/postgres/postgres.git
synced 2025-10-24 01:29:19 +03:00
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.
This commit is contained in:
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user