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 1oBLAu-0002Aj-A5 for pgsql-hackers@arkaria.postgresql.org; Tue, 12 Jul 2022 19:04:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oBLAt-0001kA-4h for pgsql-hackers@arkaria.postgresql.org; Tue, 12 Jul 2022 19:03:59 +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 1oBLAs-0001jv-R2 for pgsql-hackers@lists.postgresql.org; Tue, 12 Jul 2022 19:03:58 +0000 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oBLAm-0004bB-C8 for pgsql-hackers@postgresql.org; Tue, 12 Jul 2022 19:03:57 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 6A1F5320034E; Tue, 12 Jul 2022 15:03:50 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Tue, 12 Jul 2022 15:03:50 -0400 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=fm3; t=1657652629; x= 1657739029; bh=DTOwa7U6XWg+gXpF4OD2XIYDgTCMs6oaGb/MqmQxVfo=; b=w 7Z305CEoVyJOcN3iw7WM6Oou9lLJEpsrE9pLnup6BWtZI+U1yFiLFNZC7sUH4y8Z yo31C6Q+iQkRqstlXtUDdsE74zEvEj11V0YiDegTzWDLoIAuvMiC/cmngNEtZ6bc vsCdzRscgedzfgatjIghW4+EWOyaYrwBPdvyoDQobCoDKE+H6Jek+AqMeCNl4/TZ XM95u/sVVJQrT2VoF9n81jSSyUqNRIPtrnABb3r5L6mUdlT9UFOZr9unl52+KveS 9J+xr0LtW77cMA8pgccAu0EfbpOSezZ4znEM22DzWXrLU6MTkRF+HLX95UOQofUa bTb/gBKMWXiz96TBIDXQw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudejhedgudefgecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttdefjeenucfhrhhomheprfgv thgvrhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsegvnh htvghrphhrihhsvggusgdrtghomheqnecuggftrfgrthhtvghrnhepheelffeggedujeet iefhleetuddvieffhfffvdejvdffgeejkeduleduheduieefnecuvehluhhsthgvrhfuih iivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgr uhhtsegvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Feedback-ID: i131946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 12 Jul 2022 15:03:48 -0400 (EDT) Message-ID: <101171fc-da4c-7799-991d-65ad84f53d7d@enterprisedb.com> Date: Tue, 12 Jul 2022 21:03:47 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: automatically generating node support functions Content-Language: en-US To: Tom Lane Cc: Andres Freund , David Rowley , pgsql-hackers References: <1294462.1656875649@sss.pgh.pa.us> <57df9f30-d2cf-9126-28d4-ae40a2e733a9@enterprisedb.com> <1593978.1656953960@sss.pgh.pa.us> <2592455.1657140387@sss.pgh.pa.us> <3302658.1657288366@sss.pgh.pa.us> <611d2e! 93-6330-47fa-0970-72316aed50f2@enterprisedb.com> <3488143.1657310625@sss.pgh.pa.us> <11148777-fbe2-5188-195d-48f5083573c5@enterprisedb.com> <20220710214622.haiektrjzisob6rl@awork3.anarazel.de> <815831.1657494597@sss.pgh.pa.us> <45f508cb-e30b-c252-e081-4548deafa34c@enterprisedb.com> <1116889.1657553859@sss.pgh.pa.us> <1201553.1657562258@sss.pgh.pa.us> From: Peter Eisentraut In-Reply-To: <1201553.1657562258@sss.pgh.pa.us> 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 11.07.22 19:57, Tom Lane wrote: > So at this point I'm rather attracted to the idea of reverting to > a manually-maintained NodeTag enum. We know how to avoid ABI > breakage with that, and it's not exactly the most painful part > of adding a new node type. One of the nicer features is that you now get to see the numbers assigned to the enum tags, like T_LockingClause = 91, T_XmlSerialize = 92, T_PartitionElem = 93, so that when you get an error like "unsupported node type: %d", you can just look up what it is.