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.94.2) (envelope-from ) id 1rheAD-00CeTs-BS for pgsql-hackers@arkaria.postgresql.org; Tue, 05 Mar 2024 23:25:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rheAB-003ftN-TE for pgsql-hackers@arkaria.postgresql.org; Tue, 05 Mar 2024 23:25:36 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rheAB-003ftF-Jb for pgsql-hackers@lists.postgresql.org; Tue, 05 Mar 2024 23:25:36 +0000 Received: from fhigh4-smtp.messagingengine.com ([103.168.172.155]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rheA9-002ySw-IY for pgsql-hackers@lists.postgresql.org; Tue, 05 Mar 2024 23:25:35 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 681DB1140146; Tue, 5 Mar 2024 18:25:32 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Tue, 05 Mar 2024 18:25:32 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= cc:cc: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=fm1; t=1709681132; x=1709767532; bh=fE8fOTdEdX FEyHBIlNdMDZjXc1vCmzTDHBlsTcdS1qs=; b=XLvrCGj2rzxnRFk6ZMk5p+M/Ty +9G9gifAjkGsU43/d3kv2rmcG8ygqGbQ2yjtsPQMsGpn3rLM+0h+ik/bhj8yhBfw DMUG2CRppQ8/ByNF6fa9p9ynf9PnfSoa3bRvZQ3XAl75Ons42BJiSP8fPkIsSDAz j1l7cljSGPFPr32cBHAcdFRoykq5h4ZjQXT+WbbTVzG9ZKexBV+c6UX6EYedz3ts sdsdwSKLwVGfun3J1dyg9fM24tr9o/oc6YxKGI5fCsW+IhB3lfu9N14tVnPBHJUf +4/83HC6KS0Vo1s9G7NfvVANNAXUKsnd83/HnfaBNEgPDfp1bO0qeJbK/4ew== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc: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-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1709681132; x=1709767532; bh=fE8fOTdEdXFEyHBIlNdMDZjXc1vC mzTDHBlsTcdS1qs=; b=KEh/O++UfTQKeR7hPXLgNuylCxTd4spuzGgihdPfBC2c w2tYVy233j/4/IFiQPaTfiiF6Mbq0ofEZ9KFX4EBxq+M0lh5jhlUe56752vjhRmC yGyxjY6QqghLkRlL5cfa0brE/QPcBhO00P3D1nvQf/r3EGiMzbRZvtUu/yl9tQq/ EwPFkLqdXYDyDSmXc86i4bVswY+svnyoqpbZgF9XPUfo+ocjRK4Idqr67GuuQXUE xiwKollOHbkEFfHSgaoe+K+v+JBgYD0Sltv5M0UQ2TmKMkGOIpj+zbp6dL31VTek e61n9D61Om2R3uIA31KrVSERYygS7JCFjXqR9ZOe2A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledriedtgddtlecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfg hrlhcuvffnffculdejtddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt vdenucfhrhhomhepofhitghhrggvlhcurfgrqhhuihgvrhcuoehmihgthhgrvghlsehprg hquhhivghrrdighiiiqeenucggtffrrghtthgvrhhnpeetleeifedufffhhfdtteelgeeg geffhfekueevteeigfduudevudetgfegiedvjeenucevlhhushhtvghrufhiiigvpedtne curfgrrhgrmhepmhgrihhlfhhrohhmpehmihgthhgrvghlsehprghquhhivghrrdighiii X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 5 Mar 2024 18:25:29 -0500 (EST) Date: Wed, 6 Mar 2024 08:25:16 +0900 From: Michael Paquier To: Mats Kindahl Cc: Aleksander Alekseev , pgsql-hackers@lists.postgresql.org Subject: Re: Hooking into ExplainOneQuery() complicated by missing standard_ExplainOneQuery Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="uL8alkBzIrhYi7cA" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --uL8alkBzIrhYi7cA Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Mar 05, 2024 at 08:21:34AM +0100, Mats Kindahl wrote: > I realize that a more advanced system is possible to create where you can > customize the output even more, but in this case I just wanted to add a > section with some additional information related to plan execution. Also, > the code in explain.c seems to not be written with extensibility in mind, > so I did not want to make too big a change here before thinking through how > this would work. Sure. > Just to elaborate: the intention was to allow a section to be added to > every node in the plan containing information from further down and also > allow this information to propagate upwards. We happen to have buffer > information right now, but allowing something similar to be added > dynamically by extending ExplainNode and passing down a callback to > standard_ExplainOneQuery. Or an extra hook at the end of ExplainNode() to be able to append more information at node level? Not sure if others would agree with that, though. -- Michael --uL8alkBzIrhYi7cA Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmXnqdwACgkQnvQgOdby QH32wg/9FqEpZPRoEBkgjFE5lUKWOmqj/bL9pTpTuzs7Qa6ZxHs2yOznLr46e77B aZsrnppbkolVAUmPOizVdqBVxmSVl5K/N00s17LtRMndAuMabrVf9/rnt3HahVFK J9DIpJwnYwwL/WfCJ64Kv/Q+lJuoTl6pFFEaREQ1FZFQUb+KUxmE/dMesf26LKGq +mC1klSnW4y92l1skkUreFcBW10NBYpiNgH8z6NT+fJF/aXNyfuunycDIpTRM+GI Hbjq8CeHqDe0Pur901qmMq8ElFTKpem7Alr8GtwLPC/N8+v7P3j3E+UVT/xh8zI2 yxSPvkB56tnA+oQIK40K56z0mgXNX86ahGLZMoWgdo1t3mykBFP3/dYyXy4M7wgl IbBGcpeOZokvV9k0xXanqGrDp0ojTxO+idJivZfU7DKilTtv+qCkQhM3TfiWv4bU TVAE+S9Xw2TMibzL7IXMQvTwGyIHgTMJxImVMvocysdmxeXRN7nGutn2UXo2KXVe zrJLuwxNz4Cy15jaaS3GT/33fh2D7HgiDK8hfZglMov08jcdUlT4WVjoF//vxNX4 K29OHi4IgoHzlsb9psMEeh9is6hP6VzB6pJftWsXR+Xz0k9ayepkEfIPKqQ3hanc 4o/fRfm38DMCd8J159HiSsKKlmjez17g1NLoxwDAjOdVsHnqhMA= =xGXY -----END PGP SIGNATURE----- --uL8alkBzIrhYi7cA--