Accessing fields past CATALOG_VARLEN

Поиск
Список
Период
Сортировка
От Ed Behn
Тема Accessing fields past CATALOG_VARLEN
Дата
Msg-id CAJBL5DOhY+p9w4FxhTji9HbFzbowhNKwG9hJZ_fMPK24GLYF-w@mail.gmail.com
обсуждение исходный текст
Ответы Re: Accessing fields past CATALOG_VARLEN  (Chapman Flack <chap@anastigmatix.net>)
Re: Accessing fields past CATALOG_VARLEN  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
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




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: CREATEROLE and role ownership hierarchies
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: SKIP LOCKED assert triggered