diff options
Diffstat (limited to 'src/backend/catalog/aclchk.c')
| -rw-r--r-- | src/backend/catalog/aclchk.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c index db58ec29f6..df32731b87 100644 --- a/src/backend/catalog/aclchk.c +++ b/src/backend/catalog/aclchk.c @@ -274,9 +274,6 @@ restrict_and_check_grant(bool is_grant, AclMode avail_goptions, bool all_privs, case ACL_KIND_FOREIGN_SERVER: whole_mask = ACL_ALL_RIGHTS_FOREIGN_SERVER; break; - case ACL_KIND_FOREIGN_TABLE: - whole_mask = ACL_ALL_RIGHTS_FOREIGN_TABLE; - break; default: elog(ERROR, "unrecognized object kind: %d", objkind); /* not reached, but keep compiler quiet */ @@ -480,10 +477,6 @@ ExecuteGrantStmt(GrantStmt *stmt) all_privileges = ACL_ALL_RIGHTS_FOREIGN_SERVER; errormsg = gettext_noop("invalid privilege type %s for foreign server"); break; - case ACL_OBJECT_FOREIGN_TABLE: - all_privileges = ACL_ALL_RIGHTS_FOREIGN_TABLE; - errormsg = gettext_noop("invalid privilege type %s for foreign table"); - break; default: elog(ERROR, "unrecognized GrantStmt.objtype: %d", (int) stmt->objtype); @@ -554,7 +547,6 @@ ExecGrantStmt_oids(InternalGrant *istmt) { case ACL_OBJECT_RELATION: case ACL_OBJECT_SEQUENCE: - case ACL_OBJECT_FOREIGN_TABLE: ExecGrant_Relation(istmt); break; case ACL_OBJECT_DATABASE: @@ -604,7 +596,6 @@ objectNamesToOids(GrantObjectType objtype, List *objnames) { case ACL_OBJECT_RELATION: case ACL_OBJECT_SEQUENCE: - case ACL_OBJECT_FOREIGN_TABLE: foreach(cell, objnames) { RangeVar *relvar = (RangeVar *) lfirst(cell); @@ -1702,21 +1693,11 @@ ExecGrant_Relation(InternalGrant *istmt) errmsg("\"%s\" is not a sequence", NameStr(pg_class_tuple->relname)))); - /* Used GRANT FOREIGN TABLE on a non-foreign-table? */ - if (istmt->objtype == ACL_OBJECT_FOREIGN_TABLE && - pg_class_tuple->relkind != RELKIND_FOREIGN_TABLE) - ereport(ERROR, - (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("\"%s\" is not a foreign table", - NameStr(pg_class_tuple->relname)))); - /* Adjust the default permissions based on object type */ if (istmt->all_privs && istmt->privileges == ACL_NO_RIGHTS) { if (pg_class_tuple->relkind == RELKIND_SEQUENCE) this_privileges = ACL_ALL_RIGHTS_SEQUENCE; - else if (pg_class_tuple->relkind == RELKIND_FOREIGN_TABLE) - this_privileges = ACL_ALL_RIGHTS_FOREIGN_TABLE; else this_privileges = ACL_ALL_RIGHTS_RELATION; } @@ -1752,16 +1733,6 @@ ExecGrant_Relation(InternalGrant *istmt) this_privileges &= (AclMode) ACL_ALL_RIGHTS_SEQUENCE; } } - else if (pg_class_tuple->relkind == RELKIND_FOREIGN_TABLE) - { - if (this_privileges & ~((AclMode) ACL_ALL_RIGHTS_FOREIGN_TABLE)) - { - ereport(ERROR, - (errcode(ERRCODE_INVALID_GRANT_OPERATION), - errmsg("foreign table \"%s\" only supports SELECT privileges", - NameStr(pg_class_tuple->relname)))); - } - } else { if (this_privileges & ~((AclMode) ACL_ALL_RIGHTS_RELATION)) @@ -1819,9 +1790,6 @@ ExecGrant_Relation(InternalGrant *istmt) case RELKIND_SEQUENCE: old_acl = acldefault(ACL_OBJECT_SEQUENCE, ownerId); break; - case RELKIND_FOREIGN_TABLE: - old_acl = acldefault(ACL_OBJECT_FOREIGN_TABLE, ownerId); - break; default: old_acl = acldefault(ACL_OBJECT_RELATION, ownerId); break; @@ -1866,9 +1834,6 @@ ExecGrant_Relation(InternalGrant *istmt) case RELKIND_SEQUENCE: aclkind = ACL_KIND_SEQUENCE; break; - case RELKIND_FOREIGN_TABLE: - aclkind = ACL_KIND_FOREIGN_TABLE; - break; default: aclkind = ACL_KIND_CLASS; break; @@ -1963,16 +1928,6 @@ ExecGrant_Relation(InternalGrant *istmt) this_privileges &= (AclMode) ACL_SELECT; } - else if (pg_class_tuple->relkind == RELKIND_FOREIGN_TABLE && - this_privileges & ~((AclMode) ACL_SELECT)) - { - /* Foreign tables have the same restriction as sequences. */ - ereport(WARNING, - (errcode(ERRCODE_INVALID_GRANT_OPERATION), - errmsg("foreign table \"%s\" only supports SELECT column privileges", - NameStr(pg_class_tuple->relname)))); - this_privileges &= (AclMode) ACL_SELECT; - } expand_col_privileges(col_privs->cols, relOid, this_privileges, @@ -3147,8 +3102,6 @@ static const char *const no_priv_msg[MAX_ACL_KIND] = gettext_noop("permission denied for foreign-data wrapper %s"), /* ACL_KIND_FOREIGN_SERVER */ gettext_noop("permission denied for foreign server %s"), - /* ACL_KIND_FOREIGN_TABLE */ - gettext_noop("permission denied for foreign table %s"), /* ACL_KIND_EXTENSION */ gettext_noop("permission denied for extension %s"), }; @@ -3193,8 +3146,6 @@ static const char *const not_owner_msg[MAX_ACL_KIND] = gettext_noop("must be owner of foreign-data wrapper %s"), /* ACL_KIND_FOREIGN_SERVER */ gettext_noop("must be owner of foreign server %s"), - /* ACL_KIND_FOREIGN_TABLE */ - gettext_noop("must be owner of foreign table %s"), /* ACL_KIND_EXTENSION */ gettext_noop("must be owner of extension %s"), }; @@ -3491,9 +3442,6 @@ pg_class_aclmask(Oid table_oid, Oid roleid, case RELKIND_SEQUENCE: acl = acldefault(ACL_OBJECT_SEQUENCE, ownerId); break; - case RELKIND_FOREIGN_TABLE: - acl = acldefault(ACL_OBJECT_FOREIGN_TABLE, ownerId); - break; default: acl = acldefault(ACL_OBJECT_RELATION, ownerId); break; |
