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 1w5tjp-003jgl-2I for pgsql-hackers@arkaria.postgresql.org; Thu, 26 Mar 2026 23:03:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w5tjn-006B6Q-36 for pgsql-hackers@arkaria.postgresql.org; Thu, 26 Mar 2026 23:03:40 +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 1w5tjn-006B6I-20 for pgsql-hackers@lists.postgresql.org; Thu, 26 Mar 2026 23:03:40 +0000 Received: from fout-b6-smtp.messagingengine.com ([202.12.124.149]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w5tjl-00000001N6i-1gff for pgsql-hackers@postgresql.org; Thu, 26 Mar 2026 23:03:39 +0000 Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfout.stl.internal (Postfix) with ESMTP id 9A7AE1D00289; Thu, 26 Mar 2026 19:03:35 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-02.internal (MEProxy); Thu, 26 Mar 2026 19:03:35 -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=fm1; t=1774566215; x=1774652615; bh=gcJpPyNpc2 9s+UXNNLzM6inhi3g79PCDMxSuxIRz1RE=; b=JZpP/2vz2qRnJHA+YpeX0xmmiW IgJ+m/2UkgJBEQ+wenaHKfsF2FIzK4wN3UDAZztSzEHLgvqZayyTAQM+BRxvuA0z qB7ty7mQs160Ioa/+vhghFyE0wL/VHOWuoc3YYMNeSvD0lGAlyVALlEnruTtOkFe gBXKIXVwbUTcFQUKeyZtxxsIjCPjGtzegdAnQjI0YhTg/by0RqdD4VO2UZHpW0ro +smlL1OOZl1GVobvd9nFydv+jvwUPHmlTyvACHG2hW7BjsFl+zahq2ulKsYXXrZ0 cpbXQ+Da65oCiDviv4YhSMWsB4DFwYHcwb52QhrF0T3mgFH/l75BtfRAVi+A== 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=fm1; t= 1774566215; x=1774652615; bh=gcJpPyNpc29s+UXNNLzM6inhi3g79PCDMxS uxIRz1RE=; b=Dzdp9Hz0h1c2cFGPMpblEj7OY7A9wLosWxkSB+UUmhg4QBto85I 2DeFkq0a1d6PQFhHrDCVf3xYiSiSA41C6Xb/mhXk/p28/Zfil7fglJLKX2Pfsxtd DxUpje0fa6VG1aL4Kiv0Ez4rxlw2BJCYV+u2iP3J8Z63W4s2Y0PHA7Kf0gc5DrJ+ J2m4AzkwYH3NLOo5iDMj3qu2MKComkOlsvQHQ1iq7XG6HYlcszpNlY3H6v/GmM8y Vl/RoGth7bJde7Dg7lBv8U79bi/Nxxp1ohsUlU/7TEWqmFH4jFcL59gVu/7YgkAb ekBBtFn7eRfbrgung6gU/9DiX47Gr0GvoHg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefvdekieeiucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnegfrh hlucfvnfffucdljedtmdenucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttddv necuhfhrohhmpefoihgthhgrvghlucfrrghquhhivghruceomhhitghhrggvlhesphgrqh huihgvrhdrgiihiieqnecuggftrfgrthhtvghrnhepteelieefudffhffhtdetleeggeeg fffhkeeuveetiefgudduvedutefggeeivdejnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepmhhitghhrggvlhesphgrqhhuihgvrhdrgiihiidp nhgspghrtghpthhtohepgedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepnhgrth hhrghnuggsohhsshgrrhhtsehgmhgrihhlrdgtohhmpdhrtghpthhtoheprghnughrvghs segrnhgrrhgriigvlhdruggvpdhrtghpthhtohepiihhohhnghelhedtgeduleesghhmrg hilhdrtghomhdprhgtphhtthhopehpghhsqhhlqdhhrggtkhgvrhhssehpohhsthhgrhgv shhqlhdrohhrgh X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 26 Mar 2026 19:03:33 -0400 (EDT) Date: Fri, 27 Mar 2026 08:03:30 +0900 From: Michael Paquier To: Nathan Bossart Cc: Andres Freund , shihao zhong , PostgreSQL-development Subject: Re: Fixes inconsistent behavior in vacuum when it processes multiple relations Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="MPrbLaEL0hr28ZXS" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --MPrbLaEL0hr28ZXS Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, Mar 26, 2026 at 11:07:52AM -0500, Nathan Bossart wrote: > Wait... Can't we just pass params by value only to vacuum_rel()? Doesn't > this accomplish what we need? It would accomplish Andres's goal of avoiding a deeper inclusion of vacuum.h in src/include/. Still, I slightly prefer your v2, where the interface of vacuum_rel() is leaner with all the other ones. It comes at the cost of copying the input parameters into a temporary "copy" of VacuumParams, but I see the fact of marking the input "params" with a const as more valuable in the long-run, with less temptation to manipulate it directly especially it is not not marked with a const. One small worry with v3 is that people like copy-pasting code around, and I suspect that v2 could discourage better the patterns that 2252fcd4276c has tried to improve and that 661643dedad9 had to fix. -- Michael --MPrbLaEL0hr28ZXS Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmnFu0IACgkQnvQgOdby QH2+VhAAlDjpZlPE1fnQ/4QZYJ8BsgPrgfDDSepNQnZwpTZRH1cYS30YCwrftp7Z VH9GZnI+g0q2kt6tUlLKLw5f1WbN8VU/k53GXnT0/RidHgIaxAxfyNlmX8bnMoK5 nbwve2QjGPklSUJk84YPMrHKYVShWBDX/aiHxS497ZqpALsZy3TnN6qz8g9nSAku bvnYsJWeSrZNmW11UVc8OVcmFPs7M/Br6FmkVAR8yNx4b1BcFKcXKKc6v2ssLm5O fpoCucaLhVUo3IYMEcnZfat7KO5N1luSg8OsJQHCtihQPOZ+amU6N+EN33PdPwJg xBkwxXCdYSaxev3aVhyZrKoG+v0tVaLmuQ4w34yieLbEtdUlzVrK/hJgcXJHflG6 1JmBcjeubjNYCuDj+G3QtQvYATHfLxgkdw5xZqpRunQVKQr2g0rFc6l95dBqCiAZ gW5qmqY4heeebWKAhbz8Juorne8OadSWY/0+BvC9JQrHUxMUl8CaeZM87H3XpDEH h5XRx0+qefoJR1xJTke6tEPOAgoWE679C3P9GepAvkDSuqKcPoRJqRhEYei+vXXr XOXEXYnX6XpoImUg91zSg13qc50NBAS2ravTPbbTBB8Tix6uVFD1Obc7iGIMLj7G nE5nVnikG36M0aUdQto6X3KBEqaxEFipC7Fh3L66yBy9dt/9ReY= =U7O/ -----END PGP SIGNATURE----- --MPrbLaEL0hr28ZXS--