Thread: It's possible to get pg_class oid from GETSTRUC macro?

It's possible to get pg_class oid from GETSTRUC macro?

From
Mohammad Heykal Abdillah
Date:
After i read PostgreSQL documentation, i found that pg_attribute contain
"attrelid" that reference to pg_class oid. But after i look to
"/src/include/catalog/pg_class.h" there is no member named "oid".

This what i trying to acomplish using "heap_getnext" function:

if (((Form_pg_class) GETSTRUCT(ht_1)->oid) == ((Form_pg_attribute)
GETSTRUCT(ht_2)->attrelid)
{
//do something
}

But its always failed in compile time since pg_class doesnt have "oid"
member. And it seem "t_tableOid" was not pg_class oid since when i
compare "t_tableOid" and "(Form_pg_attribute) GETSTRUCT(ht_2)->attrelid"
nothing match.

My question is, how to get "oid" from pg_class? or is there any other
solution you can suggest?

Thank you.
-- 
Mohammad Heykal Abdillah <heykal.abdillah@gmail.com>



Re: It's possible to get pg_class oid from GETSTRUC macro?

From
Mark Kirkwood
Date:
On 13/06/10 15:28, Mohammad Heykal Abdillah wrote: <blockquote cite="mid:1276399731.24212.42.camel@claudia"
type="cite"><prewrap="">After i read PostgreSQL documentation, i found that pg_attribute contain
 
"attrelid" that reference to pg_class oid. But after i look to
"/src/include/catalog/pg_class.h" there is no member named "oid".

This what i trying to acomplish using "heap_getnext" function:

if (((Form_pg_class) GETSTRUCT(ht_1)->oid) == ((Form_pg_attribute)
GETSTRUCT(ht_2)->attrelid)
{
//do something
}

But its always failed in compile time since pg_class doesnt have "oid"
member. And it seem "t_tableOid" was not pg_class oid since when i
compare "t_tableOid" and "(Form_pg_attribute) GETSTRUCT(ht_2)->attrelid"
nothing match.

My question is, how to get "oid" from pg_class? or is there any other
solution you can suggest?

Thank you. </pre></blockquote><font size="-1"><font face="Helvetica"><br /> Guess you could get the oid via:<br /><br
/>    HeapTupleGetOid(h_1);<br /><br /> regards<br /><br /> Mark<br /><br /></font></font>