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 1whjcz-000OES-01 for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Jul 2026 07:57:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1whjcx-00Bi6P-1K for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Jul 2026 07:57:00 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1whjcx-00Bi6G-01 for pgsql-hackers@lists.postgresql.org; Thu, 09 Jul 2026 07:56:59 +0000 Received: from smtp.outgoing.loopia.se ([93.188.3.37]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1whjcv-00000000QoB-0Ssf for pgsql-hackers@lists.postgresql.org; Thu, 09 Jul 2026 07:56:59 +0000 Received: from s807.loopia.se (localhost [127.0.0.1]) by s807.loopia.se (Postfix) with ESMTP id 3827761D166 for ; Thu, 09 Jul 2026 09:56:56 +0200 (CEST) Received: from s899.loopia.se (unknown [172.22.191.6]) by s807.loopia.se (Postfix) with ESMTP id 240F361D54E; Thu, 09 Jul 2026 09:56:56 +0200 (CEST) Received: from localhost (unknown [172.22.191.6]) by s899.loopia.se (Postfix) with ESMTP id 221AD2C8BA67; Thu, 09 Jul 2026 09:56:56 +0200 (CEST) X-Virus-Scanned: amavis at amavis.loopia.se X-Spam-Flag: NO X-Spam-Score: -1.2 X-Spam-Level: X-Spam-Status: No, score=-1.2 tagged_above=-999 required=6.2 tests=[ALL_TRUSTED=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1] autolearn=disabled Authentication-Results: s472.loopia.se (amavis); dkim=pass (2048-bit key) header.d=yesql.se Received: from s899.loopia.se ([172.22.191.5]) by localhost (s472.loopia.se [172.22.190.12]) (amavis, port 10024) with LMTP id rebp7eBwt0xK; Thu, 9 Jul 2026 09:56:55 +0200 (CEST) X-Loopia-Auth: user X-Loopia-User: daniel@yesql.se X-Loopia-Originating-IP: 89.255.232.236 Received: from smtpclient.apple (customer-89-255-232-236.stosn.net [89.255.232.236]) (Authenticated sender: daniel@yesql.se) by s899.loopia.se (Postfix) with ESMTPSA id 87AE42C8BA46; Thu, 09 Jul 2026 09:56:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yesql.se; s=loopiadkim1707475645; t=1783583815; bh=I2OD1AMbT5xaTnmWnu2QO5wlSofsjixbchey1Gb6nfY=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=f61GSIL8wVz8itawp7ApU74+DIrihvQaRB/UoVDcxZbrmJyVarU7hvmlAvnP5k8aT UuBWJYthhokqKBhKDbJrUYubq1aTkdyoAhWuajFx6CEQErVUYsH3JyZXJzLS+AxpYG WHBV0mB3tad44J72HNg6CcOWVlnSQBLlYqeVqbbnNsCzoK+xE+5mjXLM9en7hmpEXz 64JLrgrmQB5HI5Mh9Hg0RCmBlXsYYMX408u0UoJfs7LUaQw9V3C/iinZwZoaw6nBQq 4P+n4TFhtZ86w76oJLr5s8zoVvk6jX04YKDykJ/76PUcfKz/syaZYLgDkYE//10za3 Gbxvplm1rU7og== Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51.11.12\)) Subject: Re: Fix data checksum processing for temp relations and dropped databases From: Daniel Gustafsson In-Reply-To: <20260709.161542.46102955322725819.horikyota.ntt@gmail.com> Date: Thu, 9 Jul 2026 09:56:44 +0200 Cc: Fujii Masao , pgsql-hackers@lists.postgresql.org Content-Transfer-Encoding: quoted-printable Message-Id: <80447AEF-2E66-48EF-9F68-8D408B541EC1@yesql.se> References: <20260709.161542.46102955322725819.horikyota.ntt@gmail.com> To: Kyotaro Horiguchi X-Mailer: Apple Mail (2.3776.700.51.11.12) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > On 9 Jul 2026, at 09:15, Kyotaro Horiguchi = wrote: > The changes look functionally correct to me. Agreed. > 1. In BuildRelationList(), if relations without storage should be > excluded regardless of whether they are temporary or non-temporary, I > would personally prefer moving the RELKIND_HAS_STORAGE() check before > the persistence check. That would make the intent a bit clearer. Makes sense, though I am fine with either approach. > 2. In ProcessAllDatabases(), I find it slightly easier to read if the > dropped-database case is handled explicitly first, perhaps by > continuing early, so that DATACHECKSUMSWORKER_SUCCESSFUL remains the > default result for the normal path. I'm not completely sure whether > that check should go just before or just after > pgstat_progress_update_param(), though. I like this suggestion, though I think it should go after the call to pgstat_progress_update_param since the db in question reached = ProcessDatabase. I would add it as an else-if case to the conditional testing we have for _FAILED and _ABORTED. -- Daniel Gustafsson