Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1khIrh-0002c3-8s for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Nov 2020 20:55:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1khIrg-0006K3-3g for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Nov 2020 20:55:12 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1khIrf-0006Jw-OL for pgsql-hackers@lists.postgresql.org; Mon, 23 Nov 2020 20:55:11 +0000 Received: from mail-io1-xd36.google.com ([2607:f8b0:4864:20::d36]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1khIrc-0001tp-Pf for pgsql-hackers@lists.postgresql.org; Mon, 23 Nov 2020 20:55:10 +0000 Received: by mail-io1-xd36.google.com with SMTP id t8so19563188iov.8 for ; Mon, 23 Nov 2020 12:55:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telsasoft-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:subject:message-id:mime-version:content-disposition :user-agent; bh=gi0JXcYBKbOrcjyYFlE1xpQKbFeH+QFDXZwCu7z3dGU=; b=ET+dX17xeNLaUUhVt7C+7Er2Go6OZLsRT1Ll1eGKIADESfH7MPm2UxUBKJ8jO4vhT1 IRZyEazM+oGcMsxKAQKn0UM3hXGeog2bMQRIcZBx7EppXGWdoMhtrILOzdoszyiui9Gs qJl+2U2ZevA/x4Qjr0A6wCuwYKrx3NV7G9XBAAx5nloobmgMeRxJPpfDXsN3q7cZpgK9 wsR4L3DKl53xcxUxctqZwF5TUSyYmv/uwv1NcoS3kuyC3gDMldqVO+0Ae27O/OLeIYZi o4f87Stkpr6qdyCDyUljMIr8ktQ1OjeJEhCYKhjqJiV4g9/VpCKNZ82aLDqyCsivFCiO +Y3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-disposition:user-agent; bh=gi0JXcYBKbOrcjyYFlE1xpQKbFeH+QFDXZwCu7z3dGU=; b=EWPqG2+6dduRfGdFNH7Wc9rS9utjyJrIoOaJdJWBzUA7JnNhSlPLTSsvhYgl/k21pl N664fSHddCyCA+2/gmU+H692LvfA7EPV/0qvaz0D0GLCild4OSwAIDwlYLVmb5Rqrhic 0Dr+8P7hahaOvKCc79MKzVeYb9eDXsfSNkpem87+S8WqOa90Ah/GAcTeQnzNFQps7w8/ yO3PWSR4/dg1vAU6vngJ97w7q+oFL9T37O5BE1glcsYuaRUc+sub4e2iImp6MBfZzvbN bAqfJVOZ4gw0ZwV7ZaxbvVOWacoOlTJ/AaYemcXjCz0XFmHoTjvdz/BdIcFT7MYttMRH 5AjA== X-Gm-Message-State: AOAM532b/rHw6cU9ww+hPopqrBHAFZfKuMB4BFaaQjtnQ/aGtWEHtKBi AJ162CCtBYhzb9IRIdHqcBFnyiL82CzURw== X-Google-Smtp-Source: ABdhPJydyC41DL+nruz+AtPAXM/LwyLio98GsbQkdikiCqxOhZ1fQ+wcV3u/8PmhFrlR7nTt9lb0qA== X-Received: by 2002:a6b:6f08:: with SMTP id k8mr1358848ioc.82.1606164907397; Mon, 23 Nov 2020 12:55:07 -0800 (PST) Received: from pryzbyj.telsasoft (charmander.telsasoft.com. [50.244.222.1]) by smtp.gmail.com with ESMTPSA id p83sm6991637iod.49.2020.11.23.12.55.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Nov 2020 12:55:06 -0800 (PST) Received: by pryzbyj.telsasoft (Postfix, from userid 1000) id 863D18007F5; Mon, 23 Nov 2020 14:55:05 -0600 (CST) Date: Mon, 23 Nov 2020 14:55:05 -0600 From: Justin Pryzby To: pgsql-hackers@lists.postgresql.org Subject: optimizer/clauses.h needn't include access/htup.h Message-ID: <20201123205505.GJ24052@telsasoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.9.4 (2018-02-28) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk It was only needed between these: commit a8677e3ff6bb8ef78a9ba676faa647bba237b1c4 Author: Peter Eisentraut Date: Fri Apr 13 17:06:28 2018 -0400 Support named and default arguments in CALL commit f09346a9c6218dd239fdf3a79a729716c0d305bd Author: Tom Lane 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