|
8 | 8 | *
|
9 | 9 | *
|
10 | 10 | * IDENTIFICATION
|
11 |
| - * $PostgreSQL: pgsql/src/backend/catalog/aclchk.c,v 1.160 2010/01/05 21:53:58 rhaas Exp $ |
| 11 | + * $PostgreSQL: pgsql/src/backend/catalog/aclchk.c,v 1.161 2010/01/07 02:41:15 rhaas Exp $ |
12 | 12 | *
|
13 | 13 | * NOTES
|
14 | 14 | * See acl.h.
|
@@ -3515,16 +3515,11 @@ pg_language_aclmask(Oid lang_oid, Oid roleid,
|
3515 | 3515 | /*
|
3516 | 3516 | * Exported routine for examining a user's privileges for a largeobject
|
3517 | 3517 | *
|
3518 |
| - * The reason why this interface has an argument of snapshot is that |
3519 |
| - * we apply a snapshot available on lo_open(), not SnapshotNow, when |
3520 |
| - * it is opened as read-only mode. |
3521 |
| - * If we could see the metadata and data from inconsistent viewpoint, |
3522 |
| - * it will give us much confusion. So, we need to provide an interface |
3523 |
| - * which takes an argument of snapshot. |
3524 |
| - * |
3525 |
| - * If the caller refers a large object with a certain snapshot except |
3526 |
| - * for SnapshotNow, its permission checks should be also applied in |
3527 |
| - * the same snapshot. |
| 3518 | + * When a large object is opened for reading, it is opened relative to the |
| 3519 | + * caller's snapshot, but when it is opened for writing, it is always relative |
| 3520 | + * to SnapshotNow, as documented in doc/src/sgml/lobj.sgml. This function |
| 3521 | + * takes a snapshot argument so that the permissions check can be made relative |
| 3522 | + * to the same snapshot that will be used to read the underlying data. |
3528 | 3523 | */
|
3529 | 3524 | AclMode
|
3530 | 3525 | pg_largeobject_aclmask_snapshot(Oid lobj_oid, Oid roleid,
|
|
0 commit comments