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 1w59b8-002x2w-2S for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Mar 2026 21:47:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w59b7-009Bfm-0o for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Mar 2026 21:47:37 +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 1w59b6-009Bfe-2b for pgsql-hackers@lists.postgresql.org; Tue, 24 Mar 2026 21:47:37 +0000 Received: from mail-oi1-x236.google.com ([2607:f8b0:4864:20::236]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w59b4-00000000wzd-0LRz for pgsql-hackers@postgresql.org; Tue, 24 Mar 2026 21:47:36 +0000 Received: by mail-oi1-x236.google.com with SMTP id 5614622812f47-46805c4ae5dso1339920b6e.1 for ; Tue, 24 Mar 2026 14:47:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774388852; x=1774993652; darn=postgresql.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=2hDH4zr9JgSuGold1q2PWGO85Zkl88yx3rjIGDwwsng=; b=YIlav3y7+0maozK4PrnHpqJaznJqTCaMYdzy23rvIDuIE4cXYKc5Ym9yweKTuA21Fm +GgaXld39n6Owf00Zxs5aODKDxO9YrLZg0U1oYe5qAXatkMyHpZMhKCVNK/5DIGxxrw8 W+GxRHSf11lN8WKxFLWyMv8lDKjJkMo35goAc6KDXoa0wtQvbPnGIfT+h+HFRzJ+j9jD hMm44COVZTXjpgrMXOiMT2luUxQ9IX0a9OxAswPF/y0Ls5WBR5gWfYS1iFJxqZXatWgg H4CDAkQ0Z2ZdlE50kafZDc3/Q5RKQPJaQ7BwNbh7Khup1x6fbpHgWi8i3W3/Hk0u33YG lDxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774388852; x=1774993652; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2hDH4zr9JgSuGold1q2PWGO85Zkl88yx3rjIGDwwsng=; b=A3R6zt0ZsUAYIzGNJQH4OT7Ad+P1uZ2UWqasGM8W4ijsD9490DiDbRZGkmjSn42laL MMCwKlU7gVujP9AllORtwWtyMCLBeMCB3P3jIuSOVXmGm622zyuMuewk/lwkpGL27pr+ DVeeOOnVONIbldgQ/yuIoN8h7RZHgjmxXwATxJ9rXkY1bVo6BZ2Ab+6fnSyzurW2LrQ0 KOgA60hRXAwMrF2sXxeeRR+Jq0iAsXIVzjTpxkpOuBOukVG6fHwT6TLRgZTi84pz8MfC oLAD6zlL7eayrQvkLQnBbNFCiR5IQoX4XXulonLArSJEYP1+OKgXoUm+/8hQ/3T4lCxS Si/Q== X-Forwarded-Encrypted: i=1; AJvYcCVBKRXTx1XVHVb15RaTWeQrUrq8GaVRQ0q3WGytcx2V1nfR1C3qrU9VdCxTPuXUVk0zp1Mzm5wJ3MCHCoQ0@postgresql.org X-Gm-Message-State: AOJu0Yyeh2djPJITwcHRzYZ3X2iDTVXYkGycTEOoC/AQ5cUy2CDrJUvq R/nHOILi2KKtdIsTFbZ5uf1JroXbnB9hMFsxE7LR4Gtnut2kbz8oy8XK X-Gm-Gg: ATEYQzy7j3i8WV0BSJD3ZsGd2S6oHP7+/2dQhOQOITC/btt82b/ozj1Aprfj1zQsvtp 8qA9SfAOm25geOUerIpbsx0+vwQIGxNhebtCP/v1YOPnRQNVlwlezUPM+Qg1PrcUwM9j5rGV06z MVo/p0CiotOs+t3Gn5o6aKlVTJeDztdAfnvKun8rgiWWuvbOOCN1uTGBm3+yeYz9uSs2n3hi3PV pPV3z/7HdNOd5MO7tG+dXUG9m3hGmXliFdbAiyL7BFPL1blOXNhlyMauAftTkvjVLPmq4V9uaYu PKq+KxSB1OcelmnyGWRth7aBOpp1KAcHG1B8My6VthFVhlQk6qT20tYJwoCpzxmmYas4/H1c5lc fGxILivFctW6osX0YK3poKOoJnbtJeG7zNhJ53qvF2Gy2/LFFNJ03i5DDckTyVY+LYAsfEPl5+4 QSPl7+i4zKnouAG74VLvyngZjcdRmZb2j2HlsOR7RJQMkpGXK51+GYRXhe/LUetmr7wPWSB8/gz VOQ/kr4EshHCvCQWcNSoQ== X-Received: by 2002:a05:6808:23cc:b0:467:f636:23bd with SMTP id 5614622812f47-46a5c7448f7mr599290b6e.42.1774388852424; Tue, 24 Mar 2026 14:47:32 -0700 (PDT) Received: from nathan (162-195-168-172.lightspeed.stlsmo.sbcglobal.net. [162.195.168.172]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7d7eae10537sm13090952a34.22.2026.03.24.14.47.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 14:47:31 -0700 (PDT) Date: Tue, 24 Mar 2026 16:47:30 -0500 From: Nathan Bossart To: Andres Freund Cc: Michael Paquier , 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/mixed; boundary="drEvMxURMgIKPDKT" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --drEvMxURMgIKPDKT Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Mar 20, 2026 at 04:32:48PM -0400, Andres Freund wrote: > On 2026-03-20 14:39:11 -0500, Nathan Bossart wrote: >> On Fri, Mar 20, 2026 at 12:27:49PM -0400, Andres Freund wrote: >> > Why wasn't it enough to add const markers and keep passing by pointer? >> >> IIRC the idea was to prevent similar problems in the future. > > Seems using const VacuumParams *params should suffice for that? I don't think > it's particularly likely that we'll accept code that casts the const away and > then later get hurt by that. > >> To avoid the extra #includes, we could instead use the back-patched version >> (e.g., commit 661643deda). > > I'd probably not go quite there, at least the params should largely be const, > with a local on-stack copy where we do need to modify. Here is a first try. -- nathan --drEvMxURMgIKPDKT Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=v1-0001-avoid-including-vacuum.h-in-tableam.h-and-heapam..patch