Add large object access control.

Itagaki Takahiro <itagaki.takahiro@gmail.com>

Commit: f1325ce213ae1843d2ee636ff6780c3f8ac9ada6
Author: Itagaki Takahiro <itagaki.takahiro@gmail.com>
Date: 2009-12-11T03:34:57Z
Releases: 9.0.0
Add large object access control.

A new system catalog pg_largeobject_metadata manages
ownership and access privileges of large objects.

KaiGai Kohei, reviewed by Jaime Casanova.

Files

PathChange+/−
doc/src/sgml/catalogs.sgml modified +71 −5
doc/src/sgml/config.sgml modified +30 −1
doc/src/sgml/lobj.sgml modified +52 −1
doc/src/sgml/ref/allfiles.sgml modified +2 −1
doc/src/sgml/ref/alter_large_object.sgml added +75 −0
doc/src/sgml/reference.sgml modified +2 −1
doc/src/sgml/ref/grant.sgml modified +9 −1
doc/src/sgml/ref/revoke.sgml modified +7 −1
src/backend/catalog/aclchk.c modified +315 −1
src/backend/catalog/dependency.c modified +15 −1
src/backend/catalog/Makefile modified +4 −4
src/backend/catalog/pg_largeobject.c modified +205 −52
src/backend/catalog/pg_shdepend.c modified +6 −1
src/backend/commands/alter.c modified +6 −1
src/backend/commands/comment.c modified +17 −2
src/backend/commands/tablecmds.c modified +2 −1
src/backend/libpq/be-fsstubs.c modified +47 −1
src/backend/parser/gram.y modified +22 −1
src/backend/storage/large_object/inv_api.c modified +55 −38
src/backend/tcop/utility.c modified +4 −1
src/backend/utils/adt/acl.c modified +6 −1
src/backend/utils/misc/guc.c modified +12 −1
src/backend/utils/misc/postgresql.conf.sample modified +1 −0
src/bin/initdb/initdb.c modified +2 −1
src/bin/pg_dump/dumputils.c modified +6 −1
src/bin/pg_dump/pg_dump.c modified +58 −22
src/bin/psql/large_obj.c modified +23 −8
src/bin/psql/tab-complete.c modified +14 −2
src/include/catalog/catversion.h modified +2 −2
src/include/catalog/dependency.h modified +2 −1
src/include/catalog/indexing.h modified +4 −1
src/include/catalog/pg_largeobject.h modified +3 −2
src/include/catalog/pg_largeobject_metadata.h added +52 −0
src/include/libpq/be-fsstubs.h modified +6 −1
src/include/nodes/parsenodes.h modified +2 −1
src/include/utils/acl.h modified +9 −1
src/test/regress/expected/privileges.out modified +206 −0
src/test/regress/expected/sanity_check.out modified +2 −1
src/test/regress/sql/privileges.sql modified +83 −1