Here's a third version with which I'm much happier.
This patch is mainly doing four things:
1. take some typedefs and the HeapTupleData struct definition from
access/htup.h, and put them in access/tupbasics.h. This new file is
used as #include in all headers instead of htup.h.
2. take out catcache.h from syscache.h; in its stead, we add a forward
struct declaration of struct catclist. This was proposed by Andres
Freund and Peter Geogeghan previously, and it turns out to be convenient
as well as foreseen by older comments in syscache.h. It limits
proliferation of other unnecessary headers in catcache.h as well.
3. split resowner.h creating resowner_private.h. Files that just want
to create and use ResourceOwners can include the thinner resowner.h;
those that have stuff managed within a ResOwner use the other file.
This limits proliferation of lots of other header inclusion.
4. split the Xlog stuff out of heapam.h into heapam_xlog.h.
The number of src/backend files that depend on some src/include/ files:
It seems pretty clear that all these the splits are useful.
I'm unsure about the "tupbasics.h" file name. I'm open to better ideas.
The other two new files seem good enough that no bikeshedding seems
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
In response to
pgsql-hackers by date
|Next:||From: Jim Nasby||Date: 2012-08-28 21:02:38|
|Subject: Re: temporal support patch|
|Previous:||From: Tom Lane||Date: 2012-08-28 20:47:26|
|Subject: Re: MySQL search query is not executing in Postgres DB|