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 1oAyAx-0005Zi-GJ for pgsql-hackers@arkaria.postgresql.org; Mon, 11 Jul 2022 18:30:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oAy9y-0004KS-0V for pgsql-hackers@arkaria.postgresql.org; Mon, 11 Jul 2022 18:29:30 +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 1oAy9x-0004KJ-NS for pgsql-hackers@lists.postgresql.org; Mon, 11 Jul 2022 18:29:29 +0000 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oAy9r-00009j-5m for pgsql-hackers@postgresql.org; Mon, 11 Jul 2022 18:29:29 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 4300D320090B; Mon, 11 Jul 2022 14:29:18 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Mon, 11 Jul 2022 14:29:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anarazel.de; h= cc:cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm3; t=1657564157; x=1657650557; bh=nDN5FqSQsk x6UcqAZ/F2/mY2h1+97efoLUeKTT9Nsz8=; b=NgSssJoVxaOXSLfneug0iqeeF9 cFxPkvxbrje2zphW7LQL715H8/I/dxXpSSsdllbNJKSGQLhAo3pmr150WGk8K66n 53GfDdYx8BwUd9lKrtitGBSTUyj0xrXHMJHrbZ14mz2Ie9EtHUysCfJUuFa5bRQM DyAAEvezGcIDqy7THT5wbipblisrGYFa4H3I91aKwQ37yNWcAC4vtmAfOcWoB5/l R+ewz8yAA3e1OFBDcLsUhTxxNCMD4UL0wY2GV30A2cedKKLwloWKZ8vqdCbkJQHv uEkfY9XTBlXee3ShmNDXkNaFjglXLvbmhNODuHzy7RmlyghiE5ZC8mIz07OQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc: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=1657564157; x=1657650557; bh=nDN5FqSQskx6UcqAZ/F2/mY2h1+9 7efoLUeKTT9Nsz8=; b=UsOar44yJOVokMnqALEcw8FYZvTyvRFiOdTKUVBwrwwQ 1ygTzasA38blKP+UwTCUcsue+U49C0r+znuCzdrtc1+woaTGBsLBMv06ZZXqZTee uzhPa6vJVyWRfqgf9PpFHGLzC+u0nHS89N/RD11Nd+EHQtU143VTL3ZflAsofxUM +i/OhTs+iH3l/qjKy5bDW4qYM5hu3CfpSQRG1uCGVAMzCrZ5+K3dV3+3w/yrDyn3 7TMsu9DHlsLrEE4rlDidbRf0kLpz3Sy0OxGaZuDQbi1mp8XDFyFXIIqSPE5yAf6A 8qci5jyLMeYfQk8Y3oWhN9N+lnPuEE60MGLskCYtTg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudejfedguddvgecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpeffhffvvefukfhfgggtuggjsehttdertddttddvnecuhfhrohhmpeetnhgu rhgvshcuhfhrvghunhguuceorghnughrvghssegrnhgrrhgriigvlhdruggvqeenucggtf frrghtthgvrhhnpedvffefvefhteevffegieetfefhtddvffejvefhueetgeeludehteev udeitedtudenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh hmpegrnhgurhgvshesrghnrghrrgiivghlrdguvg X-ME-Proxy: Feedback-ID: id4a34324:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 11 Jul 2022 14:29:16 -0400 (EDT) Date: Mon, 11 Jul 2022 11:29:15 -0700 From: Andres Freund To: Tom Lane Cc: Peter Eisentraut , David Rowley , pgsql-hackers Subject: Re: automatically generating node support functions Message-ID: <20220711182915.jd2ibajdcbncqdqd@awork3.anarazel.de> References: <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> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1201553.1657562258@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, On 2022-07-11 13:57:38 -0400, Tom Lane wrote: > More generally, I'm having second thoughts about the wisdom of > auto-generating the NodeTag enum at all. With the current setup, > I am absolutely petrified about the risk of silent ABI breakage > thanks to the enum order changing. In particular, if the meson > build fails to use the same input-file order as the makefile build, > then we will get different enum orders from the two builds, causing > an ABI discrepancy that nobody would notice until we had catastrophic > extension-compatibility issues in the field. Ugh, yes. And it already exists due to Solution.pm, although that's perhaps less likely to be encountered "in the wild". Additionally, I think we've had to add tags to the enum in minor releases before and I'm afraid this now would end up looking even more awkward? > Of course, sorting the tags by name is a simple way to fix that. > But I'm not sure I want to buy into being forced to do it like that, > because of the switch-density question. > > So at this point I'm rather attracted to the idea of reverting to > a manually-maintained NodeTag enum. +0.5 - there might be a better solution to this, but I'm not immediately seeing it. Greetings, Andres Freund