Re: What to name the current heap after pluggable storage / what to rename?

Haribabu Kommi <kommi.haribabu@gmail.com>

From: Haribabu Kommi <kommi.haribabu@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Robert Haas <robertmhaas@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Alexander Korotkov <a.korotkov@postgrespro.ru>, Amit Kapila <amit.kapila16@gmail.com>
Date: 2019-01-11T05:12:26Z
Lists: pgsql-hackers
On Fri, Jan 11, 2019 at 11:05 AM Andres Freund <andres@anarazel.de> wrote:

> Hi,
>
> On 2018-12-19 14:21:29 -0500, Robert Haas wrote:
> > On Tue, Dec 18, 2018 at 11:17 PM Andres Freund <andres@anarazel.de>
> wrote:
> > > Another would be to be aggressive in renaming, and deconflict by
> > > renaming functions like heap_create[_with_catalog] etc to sound more
> > > accurate. I think that has some appeal, because a lot of those names
> > > aren't describing their tasks particularly well.
> >
> > I like that option.
>
> I'd like to start doing that by moving the functions in the following
> heapam.h block elsewhere:
>
> /* in heap/heapam.c */
> extern Relation relation_open(Oid relationId, LOCKMODE lockmode);
> extern Relation try_relation_open(Oid relationId, LOCKMODE lockmode);
> extern Relation relation_openrv(const RangeVar *relation, LOCKMODE
> lockmode);
> extern Relation relation_openrv_extended(const RangeVar *relation,
>                                                  LOCKMODE lockmode, bool
> missing_ok);
> extern void relation_close(Relation relation, LOCKMODE lockmode);
>
> extern Relation heap_open(Oid relationId, LOCKMODE lockmode);
> extern Relation heap_openrv(const RangeVar *relation, LOCKMODE lockmode);
> extern Relation heap_openrv_extended(const RangeVar *relation,
>                                          LOCKMODE lockmode, bool
> missing_ok);
>
> ISTM that the first block would best belong into new files like
> access/rel[ation].h and access/common/rel[ation].h.  I think the second
> set should be renamed to be table_open() (with backward compat
> redirects, there's way way too many references) and should go into
> access/table.h access/table/table.c alongside tableam.[ch], but I could
> also see just putting them into relation.[ch].
>
>  Comments?
>

Yes, that will be good.

Regards,
Haribabu Kommi
Fujitsu Australia

Commits

  1. Replace heapam.h includes with {table, relation}.h where applicable.

  2. Replace uses of heap_open et al with the corresponding table_* function.

  3. Introduce access/{table.h, relation.h}, for generic functions from heapam.h.