Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
544b2808
Commit
544b2808
authored
Apr 21, 2021
by
Peter Eisentraut
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doc: Improve hyphenation consistency
parent
32860656
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
31 additions
and
31 deletions
+31
-31
doc/src/sgml/catalogs.sgml
doc/src/sgml/catalogs.sgml
+7
-7
doc/src/sgml/ddl.sgml
doc/src/sgml/ddl.sgml
+1
-1
doc/src/sgml/ref/alter_policy.sgml
doc/src/sgml/ref/alter_policy.sgml
+1
-1
doc/src/sgml/ref/alter_table.sgml
doc/src/sgml/ref/alter_table.sgml
+3
-3
doc/src/sgml/ref/create_policy.sgml
doc/src/sgml/ref/create_policy.sgml
+3
-3
doc/src/sgml/ref/drop_policy.sgml
doc/src/sgml/ref/drop_policy.sgml
+3
-3
doc/src/sgml/rules.sgml
doc/src/sgml/rules.sgml
+1
-1
src/backend/commands/copyto.c
src/backend/commands/copyto.c
+1
-1
src/backend/commands/functioncmds.c
src/backend/commands/functioncmds.c
+1
-1
src/backend/executor/execMain.c
src/backend/executor/execMain.c
+2
-2
src/backend/optimizer/path/allpaths.c
src/backend/optimizer/path/allpaths.c
+1
-1
src/backend/rewrite/rewriteHandler.c
src/backend/rewrite/rewriteHandler.c
+2
-2
src/backend/rewrite/rowsecurity.c
src/backend/rewrite/rowsecurity.c
+2
-2
src/include/catalog/pg_authid.h
src/include/catalog/pg_authid.h
+1
-1
src/test/regress/expected/rowsecurity.out
src/test/regress/expected/rowsecurity.out
+1
-1
src/test/regress/sql/rowsecurity.sql
src/test/regress/sql/rowsecurity.sql
+1
-1
No files found.
doc/src/sgml/catalogs.sgml
View file @
544b2808
...
...
@@ -1556,7 +1556,7 @@
<structfield>rolbypassrls</structfield> <type>bool</type>
</para>
<para>
Role bypasses every row
level security policy, see
Role bypasses every row
-
level security policy, see
<xref linkend="ddl-rowsecurity"/> for more information.
</para></entry>
</row>
...
...
@@ -2130,7 +2130,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
<structfield>relrowsecurity</structfield> <type>bool</type>
</para>
<para>
True if table has row
level security enabled; see
True if table has row
-
level security enabled; see
<link linkend="catalog-pg-policy"><structname>pg_policy</structname></link> catalog
</para></entry>
</row>
...
...
@@ -2140,7 +2140,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
<structfield>relforcerowsecurity</structfield> <type>bool</type>
</para>
<para>
True if row
level security (when enabled) will also apply to table owner; see
True if row
-
level security (when enabled) will also apply to table owner; see
<link linkend="catalog-pg-policy"><structname>pg_policy</structname></link> catalog
</para></entry>
</row>
...
...
@@ -5531,7 +5531,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</indexterm>
<para>
The catalog <structname>pg_policy</structname> stores row
level
The catalog <structname>pg_policy</structname> stores row
-
level
security policies for tables. A policy includes the kind of
command that it applies to (possibly all commands), the roles that it
applies to, the expression to be added as a security-barrier
...
...
@@ -11765,7 +11765,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<structfield>rolbypassrls</structfield> <type>bool</type>
</para>
<para>
Role bypasses every row
level security policy, see
Role bypasses every row
-
level security policy, see
<xref linkend="ddl-rowsecurity"/> for more information.
</para></entry>
</row>
...
...
@@ -12554,7 +12554,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<structfield>usebypassrls</structfield> <type>bool</type>
</para>
<para>
User bypasses every row
level security policy, see
User bypasses every row
-
level security policy, see
<xref linkend="ddl-rowsecurity"/> for more information.
</para></entry>
</row>
...
...
@@ -13667,7 +13667,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<structfield>usebypassrls</structfield> <type>bool</type>
</para>
<para>
User bypasses every row
level security policy, see
User bypasses every row
-
level security policy, see
<xref linkend="ddl-rowsecurity"/> for more information.
</para></entry>
</row>
...
...
doc/src/sgml/ddl.sgml
View file @
544b2808
...
...
@@ -2382,7 +2382,7 @@ INSERT INTO passwd VALUES
INSERT
INTO
passwd
VALUES
(
'alice'
,
'xxx'
,
2
,
1
,
'Alice'
,
'098-765-4321'
,
null
,
'/home/alice'
,
'/bin/zsh'
);
--
Be
sure
to
enable
row
level
security
on
the
table
--
Be
sure
to
enable
row
-
level
security
on
the
table
ALTER
TABLE
passwd
ENABLE
ROW
LEVEL
SECURITY
;
--
Create
policies
...
...
doc/src/sgml/ref/alter_policy.sgml
View file @
544b2808
...
...
@@ -16,7 +16,7 @@ PostgreSQL documentation
<refnamediv>
<refname>ALTER POLICY</refname>
<refpurpose>change the definition of a row
level security policy</refpurpose>
<refpurpose>change the definition of a row
-
level security policy</refpurpose>
</refnamediv>
<refsynopsisdiv>
...
...
doc/src/sgml/ref/alter_table.sgml
View file @
544b2808
...
...
@@ -611,7 +611,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
These forms control the application of row security policies belonging
to the table. If enabled and no policies exist for the table, then a
default-deny policy is applied. Note that policies can exist for a table
even if row
level security is disabled. In this case, the policies will
even if row
-
level security is disabled. In this case, the policies will
<emphasis>not</emphasis> be applied and the policies will be ignored.
See also
<link linkend="sql-createpolicy"><command>CREATE POLICY</command></link>.
...
...
@@ -624,9 +624,9 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<listitem>
<para>
These forms control the application of row security policies belonging
to the table when the user is the table owner. If enabled, row
level
to the table when the user is the table owner. If enabled, row
-
level
security policies will be applied when the user is the table owner. If
disabled (the default) then row
level security will not be applied when
disabled (the default) then row
-
level security will not be applied when
the user is the table owner.
See also
<link linkend="sql-createpolicy"><command>CREATE POLICY</command></link>.
...
...
doc/src/sgml/ref/create_policy.sgml
View file @
544b2808
...
...
@@ -16,7 +16,7 @@ PostgreSQL documentation
<refnamediv>
<refname>CREATE POLICY</refname>
<refpurpose>define a new row
level security policy for a table</refpurpose>
<refpurpose>define a new row
-
level security policy for a table</refpurpose>
</refnamediv>
<refsynopsisdiv>
...
...
@@ -188,7 +188,7 @@ CREATE POLICY <replaceable class="parameter">name</replaceable> ON <replaceable
Any <acronym>SQL</acronym> conditional expression (returning
<type>boolean</type>). The conditional expression cannot contain
any aggregate or window functions. This expression will be added
to queries that refer to the table if row
level security is enabled.
to queries that refer to the table if row
-
level security is enabled.
Rows for which the expression returns true will be visible. Any
rows for which the expression returns false or null will not be
visible to the user (in a <command>SELECT</command>), and will not be
...
...
@@ -207,7 +207,7 @@ CREATE POLICY <replaceable class="parameter">name</replaceable> ON <replaceable
<type>boolean</type>). The conditional expression cannot contain
any aggregate or window functions. This expression will be used in
<command>INSERT</command> and <command>UPDATE</command> queries against
the table if row
level security is enabled. Only rows for which the
the table if row
-
level security is enabled. Only rows for which the
expression evaluates to true will be allowed. An error will be thrown
if the expression evaluates to false or null for any of the records
inserted or any of the records that result from the update. Note that
...
...
doc/src/sgml/ref/drop_policy.sgml
View file @
544b2808
...
...
@@ -16,7 +16,7 @@ PostgreSQL documentation
<refnamediv>
<refname>DROP POLICY</refname>
<refpurpose>remove a row
level security policy from a table</refpurpose>
<refpurpose>remove a row
-
level security policy from a table</refpurpose>
</refnamediv>
<refsynopsisdiv>
...
...
@@ -31,9 +31,9 @@ DROP POLICY [ IF EXISTS ] <replaceable class="parameter">name</replaceable> ON <
<para>
<command>DROP POLICY</command> removes the specified policy from the table.
Note that if the last policy is removed for a table and the table still has
row
level security enabled via <command>ALTER TABLE</command>, then the
row
-
level security enabled via <command>ALTER TABLE</command>, then the
default-deny policy will be used. <literal>ALTER TABLE ... DISABLE ROW
LEVEL SECURITY</literal> can be used to disable row
level security for a
LEVEL SECURITY</literal> can be used to disable row
-
level security for a
table, whether policies for the table exist or not.
</para>
</refsect1>
...
...
doc/src/sgml/rules.sgml
View file @
544b2808
...
...
@@ -2123,7 +2123,7 @@ SELECT * FROM phone_number WHERE tricky(person, phone);
</para>
<para>
When it is necessary for a view to provide row
level security, the
When it is necessary for a view to provide row
-
level security, the
<literal>security_barrier</literal> attribute should be applied to
the view. This prevents maliciously-chosen functions and operators from
being passed values from rows until after the view has done its work. For
...
...
src/backend/commands/copyto.c
View file @
544b2808
...
...
@@ -512,7 +512,7 @@ BeginCopyTo(ParseState *pstate,
CURSOR_OPT_PARALLEL_OK
,
NULL
);
/*
* With row
level security and a user using "COPY relation TO", we
* With row
-
level security and a user using "COPY relation TO", we
* have to convert the "COPY relation TO" to a query-based COPY (eg:
* "COPY (SELECT * FROM relation) TO"), to allow the rewriter to add
* in any RLS clauses.
...
...
src/backend/commands/functioncmds.c
View file @
544b2808
...
...
@@ -1129,7 +1129,7 @@ CreateFunction(ParseState *pstate, CreateFunctionStmt *stmt)
/*
* Only superuser is allowed to create leakproof functions because
* leakproof functions can see tuples which have not yet been filtered out
* by security barrier views or row
level security policies.
* by security barrier views or row
-
level security policies.
*/
if
(
isLeakProof
&&
!
superuser
())
ereport
(
ERROR
,
...
...
src/backend/executor/execMain.c
View file @
544b2808
...
...
@@ -558,7 +558,7 @@ ExecutorRewind(QueryDesc *queryDesc)
* Returns true if permissions are adequate. Otherwise, throws an appropriate
* error if ereport_on_violation is true, or simply returns false otherwise.
*
* Note that this does NOT address row
level security policies (aka: RLS). If
* Note that this does NOT address row
-
level security policies (aka: RLS). If
* rows will be returned to the user as a result of this permission check
* passing, then RLS also needs to be consulted (and check_enable_rls()).
*
...
...
@@ -1947,7 +1947,7 @@ ExecConstraints(ResultRelInfo *resultRelInfo,
*
* Note that this needs to be called multiple times to ensure that all kinds of
* WITH CHECK OPTIONs are handled (both those from views which have the WITH
* CHECK OPTION set and from row
level security policies). See ExecInsert()
* CHECK OPTION set and from row
-
level security policies). See ExecInsert()
* and ExecUpdate().
*/
void
...
...
src/backend/optimizer/path/allpaths.c
View file @
544b2808
...
...
@@ -2141,7 +2141,7 @@ set_subquery_pathlist(PlannerInfo *root, RelOptInfo *rel,
/*
* If the subquery has the "security_barrier" flag, it means the subquery
* originated from a view that must enforce row
level security. Then we
* originated from a view that must enforce row
-
level security. Then we
* must not push down quals that contain leaky functions. (Ideally this
* would be checked inside subquery_is_pushdown_safe, but since we don't
* currently pass the RTE to that function, we must do it here.)
...
...
src/backend/rewrite/rewriteHandler.c
View file @
544b2808
...
...
@@ -2159,7 +2159,7 @@ fireRIRrules(Query *parsetree, List *activeRIRs)
QTW_IGNORE_RC_SUBQUERIES
);
/*
* Apply any row
level security policies. We do this last because it
* Apply any row
-
level security policies. We do this last because it
* requires special recursion detection if the new quals have sublink
* subqueries, and if we did it in the loop above query_tree_walker would
* then recurse into those quals a second time.
...
...
@@ -2249,7 +2249,7 @@ fireRIRrules(Query *parsetree, List *activeRIRs)
}
/*
* Make sure the query is marked correctly if row
level security
* Make sure the query is marked correctly if row
-
level security
* applies, or if the new quals had sublinks.
*/
if
(
hasRowSecurity
)
...
...
src/backend/rewrite/rowsecurity.c
View file @
544b2808
/*
* rewrite/rowsecurity.c
* Routines to support policies for row
level security (aka RLS).
* Routines to support policies for row
-
level security (aka RLS).
*
* Policies in PostgreSQL provide a mechanism to limit what records are
* returned to a user and what records a user is permitted to add to a table.
...
...
@@ -100,7 +100,7 @@ row_security_policy_hook_type row_security_policy_hook_restrictive = NULL;
* Get any row security quals and WithCheckOption checks that should be
* applied to the specified RTE.
*
* In addition, hasRowSecurity is set to true if row
level security is enabled
* In addition, hasRowSecurity is set to true if row
-
level security is enabled
* (even if this RTE doesn't have any row security quals), and hasSubLinks is
* set to true if any of the quals returned contain sublinks.
*/
...
...
src/include/catalog/pg_authid.h
View file @
544b2808
...
...
@@ -38,7 +38,7 @@ CATALOG(pg_authid,1260,AuthIdRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(284
bool
rolcreatedb
;
/* allowed to create databases? */
bool
rolcanlogin
;
/* allowed to log in as session user? */
bool
rolreplication
;
/* role used for streaming replication */
bool
rolbypassrls
;
/* bypasses row
level security? */
bool
rolbypassrls
;
/* bypasses row
-
level security? */
int32
rolconnlimit
;
/* max connections allowed (-1=no limit) */
/* remaining fields may be null; use heap_getattr to read them! */
...
...
src/test/regress/expected/rowsecurity.out
View file @
544b2808
...
...
@@ -3514,7 +3514,7 @@ CREATE POLICY p ON t USING (c % 2 = 1);
ALTER TABLE t ENABLE ROW LEVEL SECURITY;
SAVEPOINT q;
CREATE RULE "_RETURN" AS ON SELECT TO t DO INSTEAD
SELECT * FROM generate_series(1,5) t0(c); -- fails due to row
level security enabled
SELECT * FROM generate_series(1,5) t0(c); -- fails due to row
-
level security enabled
ERROR: could not convert table "t" to a view because it has row security enabled
ROLLBACK TO q;
ALTER TABLE t DISABLE ROW LEVEL SECURITY;
...
...
src/test/regress/sql/rowsecurity.sql
View file @
544b2808
...
...
@@ -1445,7 +1445,7 @@ ALTER TABLE t ENABLE ROW LEVEL SECURITY;
SAVEPOINT
q
;
CREATE
RULE
"_RETURN"
AS
ON
SELECT
TO
t
DO
INSTEAD
SELECT
*
FROM
generate_series
(
1
,
5
)
t0
(
c
);
-- fails due to row
level security enabled
SELECT
*
FROM
generate_series
(
1
,
5
)
t0
(
c
);
-- fails due to row
-
level security enabled
ROLLBACK
TO
q
;
ALTER
TABLE
t
DISABLE
ROW
LEVEL
SECURITY
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment