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 06:39:42
Message-ID: 20190114063942.of2zacwsungqn5ap@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2019-01-13 19:05:03 -0800, Andres Freund wrote:
> 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.

Here's a patch doing the same for genam as well.

Greetings,

Andres Freund

Attachment Content-Type Size
v2-0001-Don-t-include-heapam.h-from-others-headers.patch text/x-diff 36.5 KB
v2-0002-Make-naming-of-tupdesc-related-structs-more-consi.patch text/x-diff 5.9 KB
v2-0003-Don-t-include-genam.h-from-execnodes.h-anymore.patch text/x-diff 15.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrey Borodin 2019-01-14 09:08:10 Re: [WIP] CREATE SUBSCRIPTION with FOR TABLES clause (table filter)
Previous Message Pavan Deolasee 2019-01-14 06:37:27 Re: MERGE SQL statement for PG12