Re: [PATCHES] partial header cleanup

2008-06-01 Thread Alvaro Herrera
Zdenek Kotala wrote:
 This replace xlog.h with xlogdefs.h in bufpage.h. All other changes are  
 forgotten include somewhere. It reduce e.g. bloat to half in itup.h. But, 
 There are still unresolved problems. htup should include bufpage.h, 
 because it needs PageHeader size, but there is still unnecessary bufmgr.h 
 include in bufpage which generates bloat.

I agree with this patch -- in fact I had done the same before PGCon and
then neglected it for some reason.  (I think I was distracted trying to
get the struct RelationData definition out of rel.h, but that did not
turn out too well).

I was thinking maybe we need a third buffer manager header file.  One
would have the current bufmgr.h, another would have the page stuff that
does not know about bufmgr.h (so most of current bufpage.h), and the
third one would be both plus the #define that needs both (which is
currently in bufpage.h).  I am not sure what kind of fallout that
causes.  Maybe that would help you too.  We need to come up with a good
name for that file however ... bufmgrpage.h seems ugly.

-- 
Alvaro Herrerahttp://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

-- 
Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches


Re: [PATCHES] partial header cleanup

2008-06-01 Thread Zdenek Kotala

Alvaro Herrera napsal(a):

Zdenek Kotala wrote:
This replace xlog.h with xlogdefs.h in bufpage.h. All other changes are  
forgotten include somewhere. It reduce e.g. bloat to half in itup.h. But, 
There are still unresolved problems. htup should include bufpage.h, 
because it needs PageHeader size, but there is still unnecessary bufmgr.h 
include in bufpage which generates bloat.


I agree with this patch -- in fact I had done the same before PGCon and
then neglected it for some reason.  (I think I was distracted trying to
get the struct RelationData definition out of rel.h, but that did not
turn out too well).


I think rel.h is atomic. There is no space to split it.


I was thinking maybe we need a third buffer manager header file.  One
would have the current bufmgr.h, another would have the page stuff that
does not know about bufmgr.h (so most of current bufpage.h), and the
third one would be both plus the #define that needs both (which is
currently in bufpage.h).  I am not sure what kind of fallout that
causes.  Maybe that would help you too.  We need to come up with a good
name for that file however ... bufmgrpage.h seems ugly.


I don't think that we need third header file. It seems to me, that only macros 
BufferGetPage requires both headers (Page and Buffer datatype). Other content 
seems to me independent.


I'm thinking about renaming bufpage.h to page.h, but it is cosmetic change and 
IIRC CVS does not like file renaming.


Zdenek




--
Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches