get_rel_* functions in lsyscache.c

Started by Jaime Casanovaover 20 years ago2 messages
#1Jaime Casanova
systemguards@gmail.com

Hi, i have a doubt...

it seems to me that the get_rel_* functions in lsyscache do the same as doing
heap_open();
Calling the appropiate macro Relation*
heap_close();

is there any difference between them? in wich situation is one better
than the other?

--
regards,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Jaime Casanova (#1)
Re: get_rel_* functions in lsyscache.c

Jaime Casanova <systemguards@gmail.com> writes:

Hi, i have a doubt...
it seems to me that the get_rel_* functions in lsyscache do the same as doing
heap_open();
Calling the appropiate macro Relation*
heap_close();

is there any difference between them? in wich situation is one better
than the other?

The lsyscache functions are just notational convenience --- they're
shorter to write and easier to read than accessing the underlying
catalog entries for yourself. However, I'd usually only use them
to pull one or two items from a given catalog entries; if I need
several fields from the same catalog entry, I'd open the catalog
entry just once and grab the fields directly, to avoid multiple
cache searches.

regards, tom lane