mirror of
https://github.com/postgres/postgres.git
synced 2025-12-19 17:02:53 +03:00
Fix relcache for policies, and doc updates
Andres pointed out that there was an extra ';' in equalPolicies, which made me realize that my prior testing with CLOBBER_CACHE_ALWAYS was insufficient (it didn't always catch the issue, just most of the time). Thanks to that, a different issue was discovered, specifically in equalRSDescs. This change corrects eqaulRSDescs to return 'true' once all policies have been confirmed logically identical. After stepping through both functions to ensure correct behavior, I ran this for about 12 hours of CLOBBER_CACHE_ALWAYS runs of the regression tests with no failures. In addition, correct a few typos in the documentation which were pointed out by Thom Brown (thanks!) and improve the policy documentation further by adding a flushed out usage example based on a unix passwd file. Lastly, clean up a few comments in the regression tests and pg_dump.h.
This commit is contained in:
@@ -94,7 +94,7 @@ ALTER POLICY <replaceable class="parameter">name</replaceable> ON <replaceable c
|
||||
security-barrier qualification to queries which use the table
|
||||
automatically. If multiple policies are being applied for a given
|
||||
table then they are all combined and added using OR. The USING
|
||||
expression applies to records which are being retrived from the table.
|
||||
expression applies to records which are being retrieved from the table.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -81,7 +81,7 @@ CREATE POLICY <replaceable class="parameter">name</replaceable> ON <replaceable
|
||||
referenced table. These issues can be addressed by carefully crafting
|
||||
policies which prevent users from being able to insert, delete, or update
|
||||
records at all which might possibly indicate a value they are not otherwise
|
||||
able to see, or by using generated values (eg: surrogate keys) instead.
|
||||
able to see, or by using generated values (e.g.: surrogate keys) instead.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@@ -218,7 +218,7 @@ CREATE POLICY <replaceable class="parameter">name</replaceable> ON <replaceable
|
||||
records from the relation which pass the <literal>SELECT</literal>
|
||||
policy will be returned, even if other records exist in the relation.
|
||||
The <literal>SELECT</literal> policy only accepts the USING expression
|
||||
as it only ever applies in cases where records are being retrived from
|
||||
as it only ever applies in cases where records are being retrieved from
|
||||
the relation.
|
||||
</para>
|
||||
</listitem>
|
||||
@@ -272,7 +272,7 @@ CREATE POLICY <replaceable class="parameter">name</replaceable> ON <replaceable
|
||||
for the <literal>DELETE</literal>, and rows which are not visible
|
||||
through the <literal>SELECT</literal> policy may be deleted if they
|
||||
pass the <literal>DELETE</literal> USING policy. The
|
||||
<literal>DELETE</literal> policy only accept the USING expression as
|
||||
<literal>DELETE</literal> policy only accepts the USING expression as
|
||||
it only ever applies in cases where records are being extracted from
|
||||
the relation for deletion.
|
||||
</para>
|
||||
|
||||
Reference in New Issue
Block a user