Re: Command Triggers
Dimitri Fontaine <dimitri@2ndquadrant.fr>
From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Dimitri Fontaine <dimitri@2ndquadrant.fr>, Robert Haas <robertmhaas@gmail.com>, Simon Riggs <simon@2ndquadrant.com>, Tom Lane <tgl@sss.pgh.pa.us>, Andres Freund <andres@anarazel.de>, Pg Hackers <pgsql-hackers@postgresql.org>, Greg Smith <greg@2ndquadrant.com>, Bruce Momjian <bruce@momjian.us>
Date: 2012-02-16T21:30:49Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@commandprompt.com> writes: > I didn't like the new cmdtrigger.h file. It's included by a lot of > other headers, and it's also itself including execnodes.h and > parsenodes.h which means practically the whole lot of the source tree > is included in turn. If you could split it, so that the struct > definition is in a different file that's only included by the few .c > files that actually use that struct, I'd be much happier. I didn't realize that, thanks for reviewing! > ... after looking at it more closely, I think only this line needs to be > in a separate file: > > typedef struct CommandContextData *CommandContext; > > and that file is included by other headers; they don't need the function > declarations or the struct definition. I'll look into that tomorrow then. The same trick is already applied to Relation and RelationData (resp. in src/include/utils/relcache.h and src/include/utils/rel.h), and only now I understand why :) Regards, -- Dimitri Fontaine http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support