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 1pE2qH-0001l2-UK for pgsql-hackers@arkaria.postgresql.org; Sat, 07 Jan 2023 06:38:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pE2qF-000237-61 for pgsql-hackers@arkaria.postgresql.org; Sat, 07 Jan 2023 06:38:07 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pE2qE-00022x-5M for pgsql-hackers@lists.postgresql.org; Sat, 07 Jan 2023 06:38:06 +0000 Received: from new1-smtp.messagingengine.com ([66.111.4.221]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pE2q5-0005pF-FO for pgsql-hackers@lists.postgresql.org; Sat, 07 Jan 2023 06:38:05 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailnew.nyi.internal (Postfix) with ESMTP id 948CE581B9B; Sat, 7 Jan 2023 01:37:53 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Sat, 07 Jan 2023 01:37:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1673073473; x= 1673080673; bh=W4zguzcJqIYcKdldyAzpoGbmozcXLhvBE1w3j8Ynhew=; b=I 3oMgeefDRfS6HeLuYte74p+XcMb5WxdEO/OF4MwJZSGl07AMmsAWLz0qEXud4rKb 7doBLo/XYYfBmXPgR+hS1j+yJyPZL4iToLAR0Wo/QKOCILIUdEN8xaaGTJe1qr8+ NbjBazwf4LJe1k0FHAtzdrksAB1dzS4lrI1xIvZrspDx1YBy4xJnnsOB6owKq6sv i/mNRPzColgxWyIrD5lO0rNYIPH7mJyH7nbWkFcBPGPZM6G8gJR/WG6JS9TwgXCm XwCoA+wchIShqP2UbhtYSMQw3y79a16AMXN6/RqKGgLcQyGcvr4KS+vzMk/6c2F+ jPXNIvoLMJqqfHp340/nQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrkedugdeljecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfevfhfhjggtgfesthejredttdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsegvnhhtvg hrphhrihhsvggusgdrtghomheqnecuggftrfgrthhtvghrnhepheelffeggedujeetiefh leetuddvieffhfffvdejvdffgeejkeduleduheduieefnecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhht segvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Feedback-ID: i131946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 7 Jan 2023 01:37:51 -0500 (EST) Message-ID: <34491a4e-2664-6ea7-662c-b13d18d2a92d@enterprisedb.com> Date: Sat, 7 Jan 2023 07:37:49 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: Generating code for query jumbling through gen_node_support.pl Content-Language: en-US To: Michael Paquier , Postgres hackers Cc: "Drouvot, Bertrand" References: From: Peter Eisentraut In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 07.12.22 08:56, Michael Paquier wrote: > The location of the Nodes is quite invasive because we only care about > that for T_Const now in the query jumbling, and this could be > compensated with a third pg_node_attr() that tracks for the "int > location" of a Node whether it should participate in the jumbling or > not. The generation script already has a way to identify location fields, by ($t eq 'int' && $f =~ 'location$'), so you could use that as well. > There is also an argument where we would want to not include by > default new fields added to a Node, but that would require added more > pg_node_attr() than what's done here. I'm concerned about the large number of additional field annotations this adds. We have been careful so far to document the use of each attribute, e.g., *why* does a field not need to be copied etc. This patch adds dozens and dozens of annotations without any explanation at all. Now, the code this replaces also has no documentation, but maybe this is the time to add some.