after a series of tests and source code reading I realized that
1) the bug is not fixed in last git repository version
2) the bug could be reproduced on types and foreign servers, maybe also
on foreign data wrappers, triggers, but not on any other objects
3) it does not matter if we assign owner using "reassign owned" or using
"alter .. owner to ..."
4) there is a problem on revoking such incorrect grants: a workaround is
to reassign back to old owner, then revoke, than reassign once again
5) to fix the bug we need to perform aclnewowner call in
AlterForeignServerOwner_internal and AlterTypeOwner (including the
typtype == TYPTYPE_COMPOSITE case, cause we pass recursing=true to
ATExecChangeOwner)
and maybe in AlterForeignDataWrapperOwner_internal and
AlterEventTriggerOwner_internal
sorry I do not provide the exact patch
Regards,
Alexey Bashtanov