Thread: get_rel_* functions in lsyscache.c

get_rel_* functions in lsyscache.c

From
Jaime Casanova
Date:
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 ;)


Re: get_rel_* functions in lsyscache.c

From
Tom Lane
Date:
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