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 1n5rtM-00069J-Nt for pgsql-hackers@arkaria.postgresql.org; Fri, 07 Jan 2022 16:15:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1n5rtL-0005X5-IW for pgsql-hackers@arkaria.postgresql.org; Fri, 07 Jan 2022 16:14:59 +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 1n5rtK-0005Wo-Dj for pgsql-hackers@lists.postgresql.org; Fri, 07 Jan 2022 16:14:59 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n5rtF-0008TS-0Q for pgsql-hackers@postgresql.org; Fri, 07 Jan 2022 16:14:57 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 8F5F85C0118; Fri, 7 Jan 2022 11:14:50 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Fri, 07 Jan 2022 11:14:50 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=WmIMGboFYk7r5B2uFmqvx3/oM69C0dA0/i70IUYi6 nI=; b=a0EGcP8aRa/cgMZZnXpxlljb1aZHSvVf+bt4VbGMq4ciGFMaZv6QualIw tfQe3mxRY0L3bWMAWt11HjVdJ0Y17PhDvvT79VXerf3eRcX4LLGqTVKcbErKH+pP 0fAF6IvclkMBebIguhlbL4fMTjc9SCgH2YTnQqrb4FzswukvHm2Vdl3sWuXK3ct2 5RGLsPLICMInc2XlYNHhY5F2A+481YdDbgqKhhpBdfpsVjyxci0OEFQvqSmfA5ma nXPV2pOTlWjPBU3ceMwjZvIx+bKcpVO1xcTzUGoaBbGaOdSUhks2ShzYGPrLrMF1 EGLjUN+G9IFcBV0efHkXYVJDN/auw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrudegvddgiedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvfhfhjggtgfesthejredttdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsegvnhhtvg hrphhrihhsvggusgdrtghomheqnecuggftrfgrthhtvghrnhepfeejgeehteeuhfevvedu leeufedtjeetiefftedvudfhtdeifefgueettdevgefgnecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhht segvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 7 Jan 2022 11:14:49 -0500 (EST) Message-ID: Date: Fri, 7 Jan 2022 17:14:47 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Subject: Re: Add 64-bit XIDs into PostgreSQL 15 Content-Language: en-US To: Fujii Masao , Simon Riggs , Maxim Orlov Cc: pgsql-hackers 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.01.22 06:18, Fujii Masao wrote: > On 2022/01/06 19:24, Simon Riggs wrote: >> On Thu, 30 Dec 2021 at 13:19, Maxim Orlov wrote: >> >>> Your opinions are very much welcome! >> >> This is a review of the Int64 options patch, >> "v6-0001-Add-64-bit-GUCs-for-xids.patch" > > Do we really need to support both int32 and int64 options? Isn't it > enough to replace the existing int32 option with int64 one? I think that would create a lot of problems. You'd have to change every underlying int variable to int64, and then check whether that causes any issues where they are used (wrong printf format, assignments, overflows), and you'd have to check whether the existing limits are still appropriate. And extensions would be upset. This would be a big mess. > Or how about > using string-type option for very large number like 64-bit XID, like > it's done for recovery_target_xid? Seeing how many variables that contain transaction ID information actually exist, I think it could be worth introducing a new category as proposed. Otherwise, you'd have to write a lot of check and assign hooks. I do wonder whether signed vs. unsigned is handled correctly. Transaction IDs are unsigned, but all GUC handling is signed.