From: | jian he <jian(dot)universality(at)gmail(dot)com> |
---|---|
To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
Cc: | Dmitry Dolgov <9erthalion6(at)gmail(dot)com>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, Erik Rijkers <er(at)xs4all(dot)nl>, Michael Paquier <michael(at)paquier(dot)xyz>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, DUVAL REMI <REMI(dot)DUVAL(at)cheops(dot)fr>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: proposal: schema variables |
Date: | 2024-12-10 03:32:37 |
Message-ID: | CACJufxEk-FpbUKPigjexmLOb=x__0OMNZL+4k2E=VL=uynrGFQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-performance |
hi.
GRANT|REVOKE ALL VARIABLES IN SCHEMA schema_name [, ...] }
seems to work.
might be better to add tests.
also src/bin/psql/tab-complete.in.c
COMPLETE_WITH_SCHEMA_QUERY_PLUS(Query_for_list_of_grantables,
we can also add "ALL VARIABLES IN SCHEMA "
also need change this <para> in grant.sgml:
<para>
There is also an option to grant privileges on all objects of the same
type within one or more schemas. This functionality is currently supported
only for tables, sequences, functions, and procedures. <literal>ALL
TABLES</literal> also affects views and foreign tables, just like the
specific-object <command>GRANT</command> command. <literal>ALL
FUNCTIONS</literal> also affects aggregate and window functions, but not
procedures, again just like the specific-object <command>GRANT</command>
command. Use <literal>ALL ROUTINES</literal> to include procedures.
</para>
revoke.sgml, we should use <replaceable
class="parameter">role_specification</replaceable>?
so it will become like:
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] }
ON { VARIABLE variable_name [, ...]
| ALL VARIABLES IN SCHEMA schema_name [, ...] }
FROM role_specification [, ...]
maybe also add
[ GRANTED BY role_specification ]
but I didn't test "REVOKE [ GRANTED BY role_specification ]".
Speaking of acl tests,
similar to has_table_privilege I am afraid we need to have a function
like has_variable_privilege for acl tests.
has_table_privilege has 6 function signatures. so there will be more code.
------------------------------------------------------
doc/src/sgml/ref/create_variable.sgml
<synopsis> section:
CREATE VARIABLE [ IF NOT EXISTS ] name [ AS ] data_type ] [ COLLATE collation ]
redundant right square bracket after "data_type".
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2024-12-10 03:33:08 | Re: Possible integer overflow in bringetbitmap() |
Previous Message | Andy Fan | 2024-12-10 03:31:43 | testing framework for MVCC & vacuum (freeze) & heap_page_prune etc. |
From | Date | Subject | |
---|---|---|---|
Next Message | Lars Aksel Opsahl | 2024-12-10 05:19:24 | Re: PostgreSQL and a Catch-22 Issue related to dead rows |
Previous Message | Pavel Stehule | 2024-12-09 23:20:38 | Re: proposal: schema variables |