From c845b4272c572efd372b026201c95d58c0b0043f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 16 Nov 2001 23:30:35 +0000 Subject: IsSystemRelationName() treats TOAST relations as system relations. This seems the right thing for most usages, but I notice two places where it is the wrong thing. One is that the default permissions on TOAST rels should be no-access, not world-readable; the other is that PrepareForTupleInvalidation doesn't really need to spend time looking at tuples of TOAST relations. --- src/backend/utils/adt/acl.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/backend/utils/adt/acl.c') diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c index 11f4dc52bf0..a868c6c1c05 100644 --- a/src/backend/utils/adt/acl.c +++ b/src/backend/utils/adt/acl.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/acl.c,v 1.65 2001/10/25 05:49:43 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/acl.c,v 1.66 2001/11/16 23:30:35 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -385,7 +385,9 @@ acldefault(const char *relname, AclId ownerid) aip = ACL_DAT(acl); aip[0].ai_idtype = ACL_IDTYPE_WORLD; aip[0].ai_id = ACL_ID_WORLD; - aip[0].ai_mode = IsSystemRelationName(relname) ? ACL_SELECT : ACL_WORLD_DEFAULT; + aip[0].ai_mode = (IsSystemRelationName(relname) && + !IsToastRelationName(relname)) ? ACL_SELECT + : ACL_WORLD_DEFAULT; aip[1].ai_idtype = ACL_IDTYPE_UID; aip[1].ai_id = ownerid; aip[1].ai_mode = ACL_OWNER_DEFAULT; -- cgit v1.2.3