optimizer/clauses.h needn't include access/htup.h - Mailing list pgsql-hackers

From Justin Pryzby
Subject optimizer/clauses.h needn't include access/htup.h
Date
Msg-id 20201123205505.GJ24052@telsasoft.com
Whole thread Raw
Responses Re: optimizer/clauses.h needn't include access/htup.h  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
It was only needed between these:

commit a8677e3ff6bb8ef78a9ba676faa647bba237b1c4
Author: Peter Eisentraut <peter_e@gmx.net>
Date:   Fri Apr 13 17:06:28 2018 -0400

    Support named and default arguments in CALL

commit f09346a9c6218dd239fdf3a79a729716c0d305bd
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date:   Tue Jan 29 15:48:51 2019 -0500

    Refactor planner's header files.

I noticed while looking at "what includes what" and wondered if some of these
are kind of "modularity violations". 

$ find src/include/ -name '*.h' -print0 |xargs -r0 awk -F'[/"]' 'NF>2 && /^#include "/{split(FILENAME,a); print
a[3],"-",$2}' |awk '$1!=$3 && !/\.h|statistics|partitioning|bootstrap|tsearch|foreign|jit|regex|lib|common/' |sort
|uniq-c |sort -nr |awk '$1==1'
 
      1 utils - rewrite
      1 utils - port
      1 utils - parser
      1 tcop - storage
      1 tcop - executor
      1 tcop - catalog
      1 tcop - access
      1 storage - postmaster
      1 rewrite - catalog
      1 rewrite - access
      1 replication - port
      1 replication - datatype
      1 postmaster - datatype
      1 parser - catalog
      1 nodes - commands
      1 executor - portability
      1 executor - port
      1 commands - datatype
      1 catalog - port
      1 catalog - parser
      1 access - tcop
      1 access - replication
      1 access - postmaster
      1 access - executor

pryzbyj@pryzbyj:~/src/postgres$ find src/backend/ -name '*.c' -print0 |xargs -r0 awk -F'[/"]' 'NF>2 && /^#include
"/{split(FILENAME,a);print a[3],"-",$2 }' |awk '$1!=$3 &&
!/\.h/&&!/common|utils|tsearch|main|foreign|port|regex|bootstrap|jit/'|sort |uniq -c |sort -nr |awk '$1==1'
 
      1 storage - libpq
      1 statistics - postmaster
      1 statistics - commands
      1 rewrite - tcop
      1 rewrite - optimizer
      1 replication - syncrep_scanner.c
      1 replication - rewrite
      1 replication - repl_scanner.c
      1 replication - optimizer
      1 postmaster - mb
      1 partitioning - rewrite
      1 partitioning - commands
      1 nodes - mb
      1 libpq - postmaster
      1 libpq - mb
      1 libpq - commands

-- 
Justin



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: walsender bug: stuck during shutdown
Next
From: Tom Lane
Date:
Subject: Re: pg_ls_tmpdir to show directories and shared filesets (and pg_ls_*)