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.96) (envelope-from ) id 1wDqo7-003Qau-2k for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Apr 2026 21:33:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wDqo7-00BCSZ-0Q for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Apr 2026 21:32:59 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wDqo6-00BCSP-1m for pgsql-hackers@lists.postgresql.org; Fri, 17 Apr 2026 21:32:58 +0000 Received: from fout-a2-smtp.messagingengine.com ([103.168.172.145]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wDqo4-00000001X0a-208r for pgsql-hackers@lists.postgresql.org; Fri, 17 Apr 2026 21:32:57 +0000 Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfout.phl.internal (Postfix) with ESMTP id 63241EC0400; Fri, 17 Apr 2026 17:32:51 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-04.internal (MEProxy); Fri, 17 Apr 2026 17:32:51 -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=fm2; t=1776461571; x=1776547971; bh=BFO/8lxqDQ 4uH/7+obvcNPzzVSs/0ijcuPGZNdlUyZg=; b=fw1S6l6A4mTQ366EtbY77aaGyx iKx4O5sBL4accmSjL4c+VTF4J/wroDcMvL137B2zbk+ogCZh7gf3Ozz2mvA4+Hs7 qRWWw2EXHp3pbnxqy0PD4Ut8GYiHyB+xhzsx31gCubzr5J4Sz7gNGtRHfq0OUb2R Em2dRAbkAJqpA1WgMu/Khsyu8YjiSLVEdjZEMOdjfSWtmT8jY/r/qpBloxdumN7s SDrlBWG2kjqgmfEl3hcfOHzizkNQBr27OGMpv29pG5mdEsacjnam5St1ovpbD4w9 SW/8JY+IECb6yuLteyiJjTHrosZLHN9H+M4dJMVcfkA3TWgyyTRIFiTvL4yQ== 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=fm2; t= 1776461571; x=1776547971; bh=BFO/8lxqDQ4uH/7+obvcNPzzVSs/0ijcuPG ZNdlUyZg=; b=RCX4vWL19TkZgDKJxaeKV4SMcYxEBBzKi+15wKJop4Kj/qaVeOx g0zB6CHk64IRtMNRpWuuB9AIyGKxr/QjGj8zSncxUbBnu5wRODBc3EaDkLnUjuPA pFPLNMRTE6bPlKk+yfGApPedHlbvTXBej0lwjNhiXVb1TDgrMexbOsphG82XnMOw x8JvjStji8RM3iqJgc8MvA8gk07Thekbg9PW3CksyfuiKmCTm6ATzvA4Ki9Zh1rY ZrwH+R32eMemtugiFaCKTC5OEZ8Z2BAWutDL76pEmYd3MC3KRMgIGhU7WUFIkXoZ yKr68OljXR8HcC1v/u85e8D7SGJRzXf8pcg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdehtdeljecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfghrlh cuvffnffculdejtddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtvden ucfhrhhomhepofhitghhrggvlhcurfgrqhhuihgvrhcuoehmihgthhgrvghlsehprghquh hivghrrdighiiiqeenucggtffrrghtthgvrhhnpeetleeifedufffhhfdtteelgeeggeff hfekueevteeigfduudevudetgfegiedvjeenucevlhhushhtvghrufhiiigvpedtnecurf grrhgrmhepmhgrihhlfhhrohhmpehmihgthhgrvghlsehprghquhhivghrrdighiiipdhn sggprhgtphhtthhopeegpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehsrghthi grnhgrrhhlrghpuhhrrghmsehgmhgrihhlrdgtohhmpdhrtghpthhtoheprghhsegthigs vghrthgvtgdrrghtpdhrtghpthhtohepphhgshhqlhdqhhgrtghkvghrsheslhhishhtsh drphhoshhtghhrvghsqhhlrdhorhhgpdhrtghpthhtoheprghlvhhhvghrrhgvsehkuhhr ihhlvghmuhdruggv X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 17 Apr 2026 17:32:50 -0400 (EDT) Date: Sat, 18 Apr 2026 06:32:48 +0900 From: Michael Paquier To: SATYANARAYANA NARLAPURAM Cc: Antonin Houska , PostgreSQL Hackers , alvherre@kurilemu.de Subject: Re: [PATCH] Compressed TOAST data corruption with REPACK CONCURRENTLY Message-ID: References: <52301.1776440752@localhost> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="ra7t/pU9qcp6KPTg" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --ra7t/pU9qcp6KPTg Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Apr 17, 2026 at 10:40:39AM -0700, SATYANARAYANA NARLAPURAM wrote: > I started with that but tried to follow the existing code pattern. This > LGTM. > Please add a comment as well. Hmm. I was reading restore_tuple(), and could it make sense to expand a bit more the tests so as more types of varlena pointers could be checked in this routine? I am taking about MAIN, EXTENDED and EXTERNAL, so as we could check more patterns with in-line [non-]compressed, and external [non-]compressed, counting for the four different possible patterns that could lead to repacked data. See for example strings.sql for such tests, that could be used as base inspiration. -- Michael --ra7t/pU9qcp6KPTg Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmnipwAACgkQnvQgOdby QH2Ymg/+JtpRgQLRZJ1WRDuEpvzMBepBdZ2dmoCiFzyJCXC7OWq2O44rr4HaAmra liOZUoQF1FAPa2wmDYisyrHzV1vGhyiyqTq6yCmaTlVcYxbqye1BWrR/DOamGITf 7jp3zBnu5gMiEwDMvPyAOXinPv5CXynkgVKLAaz6XAYz2VbMBsQ5o6XVMyAXesd5 EWJKHdXDZyO7Hy9IyifmK7geyqi1fQA5yW5nSyjICylweN2SxrV5+ZBP4nYYv+Qa LmrLdNAd9ua+7XLaw2WSPgMgjQZJPL8+RlvrdgRSOnB/vWyaip1GLV/aAYYxZOj0 QWPYNEa/qyCOlRui7aHzTERClsZhfMKs1KpGTIW23NzkkO87+pvbWfTPg5GY7R3u RWENqGhwJs8kzedCfZdZ49JLptbySJXxf0xpqIWS8PbiEoC0ZwaACHLKkARCX7/H DoqCZl8u2UIdC2dnzXMGzCyoQZEkjOKjzJKzAqQGfV5iPjZ2YdvcXEnB9KBX+aAS DugH3W5xIjqCih5Nb1IlAiL+uyMnQvMfdTO6PS5RbTQh40GidpaDNk7rKEQmJX+A tdx5k2oLBmnF0rwcnK5fx0theYMNfkHjgNhKRw9MZ1EcLFtKMK+Pn2aXsMEVS4jc u7/cCffgwuLLvuxbeKqw2y06NbLZWA2qxA4xnb71H8UcomwvPt4= =fBwF -----END PGP SIGNATURE----- --ra7t/pU9qcp6KPTg--