Bogdan Vlad <bogdancvlad@gmail.com> writes:
> How can I determine the pg_class oid of the argument type in a
> polymorphic C function when it's called with a table row?
You're confusing pg_class oid with pg_type oid. The type oid
of the function argument is necessarily going to be a *type* oid.
You can look at the pg_type row to find the associated pg_class oid,
if it's a composite type (it might not be!)
regards, tom lane