Re: [COMMITTERS] pgsql: Clean up the #include mess a little.
Ants Aasma <ants.aasma@eesti.ee>
From: Ants Aasma <ants.aasma@eesti.ee>
To: Greg Stark <stark@mit.edu>
Cc: Bruce Momjian <bruce@momjian.us>, Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-09-06T15:40:04Z
Lists: pgsql-hackers
Attachments
- pg_includes.svgz (image/svg+xml-compressed)
- render_includes.py (text/x-python)
On Mon, Sep 5, 2011 at 4:55 PM, Greg Stark <stark@mit.edu> wrote: > What I wouldn't mind seeing is a graph of all includes and what they > include. This might help figure out what layering violations there are > like the one that caused this mess. I think I've seen tools to do this > already somewhere. I whipped together a quick Python script to do this. Attached is the Python script (requires pydot) and the result of running it on includes/. I didn't attach the png version of the output because it was 7MB. If rendering all includes at once doesn't give a good overview it can also select a subset through traversing dependencies. For example: render_includes.py -i include/ \ --select="storage/spin.h+*,access/xlog.h+*" output.png This will render everything that directly or indirectly depends on those two headers. See --help for details. -- Ants Aasma