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 1tugCW-00AeuP-GK for pgsql-hackers@arkaria.postgresql.org; Tue, 18 Mar 2025 23:18:24 +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 1tugCU-007Tx1-Jd for pgsql-hackers@arkaria.postgresql.org; Tue, 18 Mar 2025 23:18:22 +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 1tugCU-007Tqu-8p for pgsql-hackers@lists.postgresql.org; Tue, 18 Mar 2025 23:18:22 +0000 Received: from fhigh-a2-smtp.messagingengine.com ([103.168.172.153]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tugCQ-003eVN-2O for pgsql-hackers@lists.postgresql.org; Tue, 18 Mar 2025 23:18:21 +0000 Received: from phl-compute-01.internal (phl-compute-01.phl.internal [10.202.2.41]) by mailfhigh.phl.internal (Postfix) with ESMTP id 421D211401FF; Tue, 18 Mar 2025 19:18:18 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-01.internal (MEProxy); Tue, 18 Mar 2025 19:18:18 -0400 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=1742339898; x=1742426298; bh=cBK5j87yWh 7BUFcQ7Lnn6pBokgF1OpmqwPIGsgG+Onc=; b=5igptQvCSs8m6klHDSLQjtpo6L 2F0lw8IHBh3ZvJy/qfawWB3pBdsbDz+FQWFmie65esyEZ9fMvg7J9NMp8Ey90Rfl BIQOi9JKkRIXxXz3OmYKUvX+EYdeNwQw/iYwGrtww6nt51X8rY62kVGo0HMZaJmi bHH2cctPchg/bZJrV1gIBnklUOHBgjfY6LsmPWRlBuhKdRQ6BUoafeI6TMxyXWdq RTsFvzKL1k7Ct337OJjqLbIAR3FipXu8WKmCM7VT9Cgwp56bWScQYnjJc6cSti2g DkKcyHA7KYXf7k4gZZHvYweRytx7yTbl0R/JMYRuVbBhV/IlJZubgnQzzDEQ== 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-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1742339898; x=1742426298; bh=cBK5j87yWh7BUFcQ7Lnn6pBokgF1OpmqwPI GsgG+Onc=; b=zKUuX3/Mamg6FVcU+YG1DwqyvidqZqxn0Go1CFJ+5gTtJOz4Ulb +qH4ynbqKJdiqGEFsqfVMqitq1U/iz97/BQbn86NpeG2S9y2UKfGs8slR+lo1nQX bN1SVHRLUShEslsKkXHpo/FrQvg1AhRXQ50Jayv2HODo+E/ueMit3FdAl2l5hetj GFFb7GrnQj/Yj1p6/ls5H3Y3diHdpQP961wkSxxuERiK5KYlNQr6X4pEMNA9xTDv Nu3McXpVytaAlPPWAPvexb5AJf/DI70y5erCxYMxOm4KZRv1PxqGKaKuLKMPBJx0 p5VltubddDiHcU2MoqgShIyMo+B4DQuh/Rw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeefjeehucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih gvnhhtshculddquddttddmnegfrhhlucfvnfffucdljedtmdenucfjughrpeffhffvvefu kfhfgggtuggjsehgtderredttddvnecuhfhrohhmpefoihgthhgrvghlucfrrghquhhivg hruceomhhitghhrggvlhesphgrqhhuihgvrhdrgiihiieqnecuggftrfgrthhtvghrnhep teelieefudffhffhtdetleeggeegfffhkeeuveetiefgudduvedutefggeeivdejnecuve hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhhitghhrggv lhesphgrqhhuihgvrhdrgiihiidpnhgspghrtghpthhtohepfedpmhhouggvpehsmhhtph houhhtpdhrtghpthhtohepmhihohhnseguvggsihgrnhdrohhrghdprhgtphhtthhopehp ghhsqhhlqdhhrggtkhgvrhhssehlihhsthhsrdhpohhsthhgrhgvshhqlhdrohhrghdprh gtphhtthhopehmrgdutddtsehhohhtmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 18 Mar 2025 19:18:16 -0400 (EDT) Date: Wed, 19 Mar 2025 08:18:03 +0900 From: Michael Paquier To: Christoph Berg Cc: PostgreSQL Hackers , ma lz Subject: Re: query_id: jumble names of temp tables for better pg_stat_statement UX Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="Urqtcu/JHaU7viIj" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --Urqtcu/JHaU7viIj Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Mar 18, 2025 at 05:51:54PM +0100, Christoph Berg wrote: > I had thought about it, but figured that integers and strings are > already separate namespaces, so hashing them shouldn't have any > conflicts. But it's more clear to do that, so added in the new > version: >=20 > AppendJumble(jstate, (const unsigned char *)"pg_temp", sizeof("pg_= temp")); > AppendJumble(jstate, (const unsigned char *)rel_name, strlen(rel_n= ame)); Yes, I know that it's not a big deal, but it could be confusing if somebody makes an argument about jumbling more object names for relations. The problem is not only limited to relations, though, as there are other object types that can use a temp namespace like functions, but the case of table entries should cover most of the complaints I can imagine. > > typedef struct RangeTblEntry > > { > > - pg_node_attr(custom_read_write) > > + pg_node_attr(custom_read_write, custom_query_jumble) > >=20 > > This structure still includes some query_jumble_ignore, which are not > > required once custom_query_jumble is added. >=20 > I would tend to keep them for documentation purposes. (The other > custom_query_jumble functions have a much more explicit structure so > there it is clear which fields are supposed to be jumbled.) Fine by me as well to keep a dependency based on the fact that the structure is rather complicated, but I'd rather document that as well in parsenodes.h with a slightly fatter comment. What do you think? -- Michael --Urqtcu/JHaU7viIj Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmfZ/ysACgkQnvQgOdby QH3L8w/+Np5Z65FlxU8zDxl85XsQbW1bOqiHN47WqUiVt8wpQI7CKm+uuwrH1WEj 96wEeWEMgytbXIeSevFB0WpFHxw+EJeAJbfE2i6NPDqcWnaYZ6vDefCIrwVHqA1W D8y2p7LdJSK57AtfLx8ymEgrD74ZTGLghii8eQtiHGiTCkQz2sTuweyz0YLmN+nt f30mrmxwtWLKd7Ndww957miAYapkeuSZ4/sKxkUwnokaUsGPV4e79QqxeNCadeKA di79YCTaQvjKoLoJ0zlvbwbMWVlhntHx51x5eBO9oLba8MB/ko442F5t43jexSgH JqhG+YYRo9+MypatYa86ovr+jcAwb3K0e3gQgJwxnIYEagwHsjf7AdYitTLzl9gO JutA56XwvY16+c8p2WgewxJ/n1YhWFZ3bsnppHD3xd6O2eXIzHu58PI53gKXHMHx LOguyoSCT4Kun1K4pubgAZE4jWVdDbHLQGwGc50ra9SlNmu4i01Ib8Z0r6r4qwcQ PME/XUde4+LmgtbZEil3H6Q4ZtaydZ9b60DFM06oR/AK+0yu5qnNiTkByR0hNet5 aocVyBgp4Qj+ay7pZ4TdQ3L3uf07I+psAzm2Rqk2TFEcQstiCT8XlG7oTpuC8/nP VheQDLnt+wZGH8DLq/2XwXhlu0W9vdJQ3X9LBvtU+EytYqAFaaw= =VRjn -----END PGP SIGNATURE----- --Urqtcu/JHaU7viIj--