Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w8Kt5-000R0R-0r for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Apr 2026 16:27:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w8Kt3-006syt-2D for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Apr 2026 16:27:18 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w8Kt3-006syl-0V for pgsql-hackers@lists.postgresql.org; Thu, 02 Apr 2026 16:27:17 +0000 Received: from fhigh-b5-smtp.messagingengine.com ([202.12.124.156]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w8Kt0-00000000DH3-1Ozi for pgsql-hackers@lists.postgresql.org; Thu, 02 Apr 2026 16:27:16 +0000 Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfhigh.stl.internal (Postfix) with ESMTP id 665E77A0160; Thu, 2 Apr 2026 12:27:13 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-06.internal (MEProxy); Thu, 02 Apr 2026 12:27:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anarazel.de; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1775147233; x=1775233633; bh=MV7HR2w/Do8ZfhM6s5FP2DmrLDrozy+ZzQpalYiU9yk=; b= J8dZ0DzBjC/3RxpSRWMpty4p/e7wzIaIlQ6eSz6Aj7gvIqO1u4xqZpXQYVTTD9o4 WAqc9EG1v3Vq68HgAjek3M0iQ7RpCxSLFkSAE67j38i/OMbokhMNiY1arnqJ9gP9 yRjT9yTaYzpSZADckJlqgmCr4r4sCyf9EM6I0QfAiL48wCzozBfc4pGdwnqTbz5g IUW/gmTQj38VLMSL4bOCDOWRq3taFSCMY5M2UY1cKBWrYSwVqTBcb6fL/K71qB5+ 1ZaNLfU49WZHhwNXOgkgxRk07PWEST111zg1cYUUj9T2P7+Us7pPiHmSmlo7oeTZ 2YT0XaqhSNtfKYx/XUU1aw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1775147233; x= 1775233633; bh=MV7HR2w/Do8ZfhM6s5FP2DmrLDrozy+ZzQpalYiU9yk=; b=m otXI7QpPAr1dwmnPDmRe1RQSdx3ifUwrUJLPHJRiCWKt8orl0y7iZ17dIN4CGSzU Auz/Lmlr+ZWxPX9f9XT+GgOTHhidZdZXz6Z/pWKmY6shgclGcvJCnUaPzsE+etZw uW+8pEMYjdak/wJ+RmlDI53NbOX5jAMSzGZ8DESfhd/bv5V8pvHKm2Zn6VimzxHR cc0ccGS7oTtuMDOqdus9Wya2mckN0yeOO4Q/jBsnwc/GgNMjppoU3wJlQy34nV+N +eBPcASjhQZVwwb4d7sh0bjUJyGwvk8ZxUdY6XpfszZKsLplfDzXCHaV0+k60RpK SdADAhWEpCO51SHUrPsLg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdeiheduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceurghi lhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurh epfffhvfevuffkfhggtggugfgjsehmkefsredttddunecuhfhrohhmpeetnhgurhgvshcu hfhrvghunhguuceorghnughrvghssegrnhgrrhgriigvlhdruggvqeenucggtffrrghtth gvrhhnpeeujeehtdegteffvdeijefhfeetkeejfeefteevffeujefhueehheeugeevtdel ueenucffohhmrghinhepphhoshhtghhrrdgvshenucevlhhushhtvghrufhiiigvpedtne curfgrrhgrmhepmhgrihhlfhhrohhmpegrnhgurhgvshesrghnrghrrgiivghlrdguvgdp nhgspghrtghpthhtohepvddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprghlvh hhvghrrhgvsehkuhhrihhlvghmuhdruggvpdhrtghpthhtohepphhgshhqlhdqhhgrtghk vghrsheslhhishhtshdrphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: id4a34324:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 2 Apr 2026 12:27:12 -0400 (EDT) Date: Thu, 2 Apr 2026 12:27:12 -0400 From: Andres Freund To: =?utf-8?Q?=C3=81lvaro?= Herrera Cc: Pg Hackers Subject: Re: some more include removal from headers Message-ID: References: <202603131240.ihwqdxnj7w2o@alvherre.pgsql> <202604021044.rnr2ympmbghc@alvherre.pgsql> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="jmpqp62znaydqx65" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <202604021044.rnr2ympmbghc@alvherre.pgsql> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --jmpqp62znaydqx65 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit Hi, On 2026-04-02 12:52:13 +0200, Álvaro Herrera wrote: > Here's low-hanging fruit I noticed while eyeballing a patch in the > commitfest. This removes pg_publication.h from utils/rel.h, which is > really nice because pg_publication includes objectaddress.h which in > turn includes parsenodes.h (an absolute disaster we have there, harder > to cleanup; not in the mood). But this here is nice and well contained. These days including rel.h (indirectly) including objectaddress.h is quite the disaster, because objectaddress.h recently grew an include of syscache.h, as I complain about in [1]. I got pretty annoyed this cycle with how much rebuilding a simple change to bufmgr.h triggers (due to hacking on it a lot). I started to write a series to improve that, but didn't get around to posting that yet due to encountering the issue 771fe0948ca fixed while improving the situation. During that I encountered the objectaddress.h include, as part of which I then complained about the issue in [1]. After the attached patches, a change to bufmgr.h triggers rebuilding 213 files, before it was 323. Not perfect, but better. Would be nice to get rid of the bufmgr.h includes in access/nbtree.h and such, but it looks like that'd be a bit more work. I included your catalog/publication.h in it, as my version had surprisingly extensive bitrot... Greetings, Andres Freund [1] https://postgr.es/m/vlcexdcimsmvu3aplt2yxpfndkgtuvjsrms2fdl46rbw3k2kug%40drspkoxlaije --jmpqp62znaydqx65 Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v2-0001-wip-Don-t-include-read_stream.h-in-tableam.h.patch"