]> granicus.if.org Git - postgresql/commit
Clean up some loose ends from the column privileges patch: add
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 6 Feb 2009 21:15:12 +0000 (21:15 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 6 Feb 2009 21:15:12 +0000 (21:15 +0000)
commit7449427a1e6a099bc7e76164cb99a01d5e87237b
tree05883ab8f6d2c91c3b75892ab566bfac84ff0b59
parent0274e1b9499d98c66182321aafb829faa5f49e41
Clean up some loose ends from the column privileges patch: add
has_column_privilege and has_any_column_privilege SQL functions; fix the
information_schema views that are supposed to pay attention to column
privileges; adjust pg_stats to show stats for any column you have select
privilege on; and fix COPY to allow copying a subset of columns if the user
has suitable per-column privileges for all the columns.

To improve efficiency of some of the information_schema views, extend the
has_xxx_privilege functions to allow inquiring about the OR of a set of
privileges in just one call.  This is just exposing capability that already
existed in the underlying aclcheck routines.

In passing, make the information_schema views report the owner's own
privileges as being grantable, since Postgres assumes this even when the grant
option bit is not set in the ACL.  This is a longstanding oversight.

Also, make the new has_xxx_privilege functions for foreign data objects follow
the same coding conventions used by the older ones.

Stephen Frost and Tom Lane
14 files changed:
doc/src/sgml/func.sgml
doc/src/sgml/information_schema.sgml
src/backend/catalog/aclchk.c
src/backend/catalog/information_schema.sql
src/backend/catalog/system_views.sql
src/backend/commands/copy.c
src/backend/utils/adt/acl.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.h
src/include/utils/builtins.h
src/test/regress/expected/foreign_data.out
src/test/regress/expected/privileges.out
src/test/regress/expected/rules.out
src/test/regress/sql/privileges.sql