@ -172,7 +172,6 @@ AlterObjectRename_internal(Relation rel, Oid objectId, const char *new_name)
AttrNumber Anum_name = get_object_attnum_name ( classId ) ;
AttrNumber Anum_name = get_object_attnum_name ( classId ) ;
AttrNumber Anum_namespace = get_object_attnum_namespace ( classId ) ;
AttrNumber Anum_namespace = get_object_attnum_namespace ( classId ) ;
AttrNumber Anum_owner = get_object_attnum_owner ( classId ) ;
AttrNumber Anum_owner = get_object_attnum_owner ( classId ) ;
ObjectType objtype = get_object_type ( classId , objectId ) ;
HeapTuple oldtup ;
HeapTuple oldtup ;
HeapTuple newtup ;
HeapTuple newtup ;
Datum datum ;
Datum datum ;
@ -224,7 +223,8 @@ AlterObjectRename_internal(Relation rel, Oid objectId, const char *new_name)
ownerId = DatumGetObjectId ( datum ) ;
ownerId = DatumGetObjectId ( datum ) ;
if ( ! has_privs_of_role ( GetUserId ( ) , DatumGetObjectId ( ownerId ) ) )
if ( ! has_privs_of_role ( GetUserId ( ) , DatumGetObjectId ( ownerId ) ) )
aclcheck_error ( ACLCHECK_NOT_OWNER , objtype , old_name ) ;
aclcheck_error ( ACLCHECK_NOT_OWNER , get_object_type ( classId , objectId ) ,
old_name ) ;
/* User must have CREATE privilege on the namespace */
/* User must have CREATE privilege on the namespace */
if ( OidIsValid ( namespaceId ) )
if ( OidIsValid ( namespaceId ) )
@ -670,7 +670,6 @@ AlterObjectNamespace_internal(Relation rel, Oid objid, Oid nspOid)
AttrNumber Anum_name = get_object_attnum_name ( classId ) ;
AttrNumber Anum_name = get_object_attnum_name ( classId ) ;
AttrNumber Anum_namespace = get_object_attnum_namespace ( classId ) ;
AttrNumber Anum_namespace = get_object_attnum_namespace ( classId ) ;
AttrNumber Anum_owner = get_object_attnum_owner ( classId ) ;
AttrNumber Anum_owner = get_object_attnum_owner ( classId ) ;
ObjectType objtype = get_object_type ( classId , objid ) ;
Oid oldNspOid ;
Oid oldNspOid ;
Datum name ,
Datum name ,
namespace ;
namespace ;
@ -726,7 +725,7 @@ AlterObjectNamespace_internal(Relation rel, Oid objid, Oid nspOid)
ownerId = DatumGetObjectId ( owner ) ;
ownerId = DatumGetObjectId ( owner ) ;
if ( ! has_privs_of_role ( GetUserId ( ) , ownerId ) )
if ( ! has_privs_of_role ( GetUserId ( ) , ownerId ) )
aclcheck_error ( ACLCHECK_NOT_OWNER , objtype ,
aclcheck_error ( ACLCHECK_NOT_OWNER , get_ object_ type( classId , objid ) ,
NameStr ( * ( DatumGetName ( name ) ) ) ) ;
NameStr ( * ( DatumGetName ( name ) ) ) ) ;
/* User must have CREATE privilege on new namespace */
/* User must have CREATE privilege on new namespace */
@ -950,8 +949,6 @@ AlterObjectOwner_internal(Relation rel, Oid objectId, Oid new_ownerId)
/* Superusers can bypass permission checks */
/* Superusers can bypass permission checks */
if ( ! superuser ( ) )
if ( ! superuser ( ) )
{
{
ObjectType objtype = get_object_type ( classId , objectId ) ;
/* must be owner */
/* must be owner */
if ( ! has_privs_of_role ( GetUserId ( ) , old_ownerId ) )
if ( ! has_privs_of_role ( GetUserId ( ) , old_ownerId ) )
{
{
@ -970,7 +967,8 @@ AlterObjectOwner_internal(Relation rel, Oid objectId, Oid new_ownerId)
snprintf ( namebuf , sizeof ( namebuf ) , " %u " , objectId ) ;
snprintf ( namebuf , sizeof ( namebuf ) , " %u " , objectId ) ;
objname = namebuf ;
objname = namebuf ;
}
}
aclcheck_error ( ACLCHECK_NOT_OWNER , objtype , objname ) ;
aclcheck_error ( ACLCHECK_NOT_OWNER , get_object_type ( classId , objectId ) ,
objname ) ;
}
}
/* Must be able to become new owner */
/* Must be able to become new owner */
check_is_member_of_role ( GetUserId ( ) , new_ownerId ) ;
check_is_member_of_role ( GetUserId ( ) , new_ownerId ) ;