I'm trying to write a C-language function to be compiled into a shared module to be loaded by Postgres. In it, I have the OID of a function and I need to get information from the pg_proc table.
So far, I have: HeapTuple procTuple; > Form_pg_proc procStruct; > procTuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid)); > if(!HeapTupleIsValid(procTuple)) > ereport(ERROR, errmsg("cache lookup failed for function %u.", > funcoid)); > procStruct = (Form_pg_proc) GETSTRUCT(procTuple); I can get fields like procStruct->prokind and procStruct->proretset. However, I get a compiler error when I try to access procStruct->proargmodes. I know that this is because this field is in the CATALOG_VARLEN block which makes it invisible to the compiler. What is the proper way to get this field? -Ed