Re: Reducing header interdependencies around heapam.h et al.

From: Andres Freund <andres(at)anarazel(dot)de>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Reducing header interdependencies around heapam.h et al.
Date: 2019-01-14 03:05:03
Message-ID: 20190114030502.ontecp35zoafz52f@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2019-01-13 23:54:58 -0300, Alvaro Herrera wrote:
> On 2019-Jan-13, Andres Freund wrote:
>
> > Alvaro, you'd introduced the split of HeapScanDesc and HeapScanDescData
> > being in different files (in a3540b0f657c6352) - what do you think about
> > this change? I didn't revert that split, but I think we ought to
> > consider just relying on a forward declared struct in heapam.h instead,
> > this split is pretty confusing and seems to lead to more interdependence
> > in a lot of cases.
>
> I wasn't terribly happy with that split, so I'm not opposed to doing
> things differently. For your consideration, I've had this patch lying
> around for a few years, which (IIRC) reduces the exposure of heapam.h by
> splitting relscan.h in two. This applies on top of dd778e9d8884 (and as
> I recall it worked well there).

You forgot to attach that patch... :).

I'm not sure I see a need to split relscan - note my patch makes it so
that it's not included by heapam.h anymore, and doing for the same for
genam.h would be fairly straightforward. The most interesting bit there
would be whether we'd add the includes necessary for Snapshot (imo no),
Relation (?), ScanKey (imo no), or whether to add the necessary includes
directly.

> I'll try to have a look at your patch tomorrow.

Thanks!

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David G. Johnston 2019-01-14 03:35:09 Re: Ryu floating point output patch
Previous Message Alvaro Herrera 2019-01-14 02:54:58 Re: Reducing header interdependencies around heapam.h et al.