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 1w57gE-002ur6-19 for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Mar 2026 19:44:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w57gC-008hnl-2p for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Mar 2026 19:44:45 +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 1w57gC-008hnc-1h for pgsql-hackers@lists.postgresql.org; Tue, 24 Mar 2026 19:44:45 +0000 Received: from mail-ot1-x32f.google.com ([2607:f8b0:4864:20::32f]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w57gA-00000000vsn-0vaX for pgsql-hackers@postgresql.org; Tue, 24 Mar 2026 19:44:44 +0000 Received: by mail-ot1-x32f.google.com with SMTP id 46e09a7af769-7d1872504cbso233004a34.0 for ; Tue, 24 Mar 2026 12:44:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774381480; x=1774986280; 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=dqRwUzFoDEK+VbK7UnWlIf0cSw8oWEXTU6hCv3NwgkY=; b=BTHy7PAIoV5liA3rZjP6eUTNcWtQM1lMwwjDzFyAiOLnVBnBxWJYqy0xn2II1Qg8OO /gKMO34DKNZA6f79mcucPSGPLtZgfIPyUvE0lttxgJ+D1s7JDe1M672OxfGSVKI3d1PG Snka3INRzSx+E7HdpiCI00Hqw+lRxjxKKoG0cPzbicbptJBUMCzZozlWWNBGpCDMHBqV ynVYnwSC+NeQbSoWDRYLXnaohb7pCw6ui11YmMEfjExREO5wSXuyZSGnfC6sCtP1mxvN DPZMDUVHTsDN0d2rw2WowueNfsjzDjhOl6roGIWEN+quHoWV+pN04v4TO3meBiQWv164 zs2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774381480; x=1774986280; 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=dqRwUzFoDEK+VbK7UnWlIf0cSw8oWEXTU6hCv3NwgkY=; b=pV/HWsycaUFWDDCDUGeEUSqHJijQqUQM/YOhq6YCTZsDJv61jTm9RTu3ERbGaoKbmI hZWZv38PFu+Zh0SonTb6ZjxSd3GiMRifX72+OsbzaYFEUHQ9d17sgdhyEJpoN/e/jMHc WndpR1CIFbWtpy11UaJydGwR7OiM/U/4XmRkNMokJVlC5kcTsMk+CM5/pfXrmYR7O+sI 5J/axry+H+kBV7ag+MmQ9hZUSw45Yp2raE6h3bmSUiI+uVPNLRJdNYJy0WdAWP8Og2QM 4MXo+obGWHVyeNPr4H3ffr9rNAOHXCcrLs80L6Lz48G3dr8eJvLZDTAasue4GZljj2Ts lIgg== X-Forwarded-Encrypted: i=1; AJvYcCWFlrgkce8raaIRg0IzbD0oSUnenc4uDHibyGxlYKHxwTJsmuTJIQkEOwDsrtWCHoCZ4dnyIRGLfveXoRen@postgresql.org X-Gm-Message-State: AOJu0YwGjAcoPOXTjSCTa8SXazl+gBRpsizGxIgMK0yfCxzwL27X3zXt Nd6XyJVjc7fze1J0/H7xIklMvR9XuaR+qUNJUS4h6fT2sQJ7EX1l9v4N X-Gm-Gg: ATEYQzzxfHAUrMlPzviTg6CvjTNrX4N37SpEUbad8a4xiVrnjezedc+ZjFBWExawNQc J6EfvXXX6Hc4PJ7mH2VbsJA0R3o9q4dxFcsKeytFulilqyvJm5i4G3f8WYNFusH/jynHv9DhUqm QBUubz0LUycEw5Czidpv2uKF8gvyO0JPeYh3iZTJMgdwQm9iDOqNGlcVAZIhvLTEIE09OxL6kAz Ggihovbf81Xrl/FlJ0KzrZNkCM0e25Rqz3tdmm9ImLcwpzP9yG9eqWJ/YDD8PvbkY3ce8jUOR8t ghHIH0CcqHGPGEMAtw3nbewL+3lW2xfZ2b+tS2pf2AS6oDTxRfoBurkUDecec3EcrE0/TZVi6ua D/zHfpulNXFx6iNGNl+lJBMTaIruollhiEYayg31ql2l1IH3QYr+aviDagljNLFeJGW8DW7qsdQ 3NphEHEoKlOh9O+Mn7tp4v2KEmOfaTO6Nxe4AbdhArc9lSMvGiGUmFqxxeUyLtvlQeNb1Vapbss f9g08yKPKewPIEJuQnt3g== X-Received: by 2002:a9d:63d4:0:b0:7d9:ade1:e19b with SMTP id 46e09a7af769-7d9c6c82de7mr2280355a34.14.1774381480533; Tue, 24 Mar 2026 12:44:40 -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-7d7eabe90f6sm12539577a34.6.2026.03.24.12.44.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 12:44:40 -0700 (PDT) Date: Tue, 24 Mar 2026 14:44:38 -0500 From: Nathan Bossart To: Greg Burd Cc: Jeff Davis , pgsql-hackers Subject: Re: Expanding HOT updates for expression and partial indexes Message-ID: References: <811d6f42e5481935943556b692859aae9146d4c9.camel@j-davis.com> <7b8681a578b5fe77103948eeb7b5cdd80fabad5d.camel@j-davis.com> <4f48f75d-4f2a-4240-b66d-597517796e02@app.fastmail.com> <3fba3f5671eddb221ba38f5a12acbe7cad27edf3.camel@j-davis.com> <427bfbda-c901-49e4-b725-8ddc41bec23d@app.fastmail.com> <887b1ee62794553a95c3578fcdc0cc1831e68b27.camel@j-davis.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, Mar 24, 2026 at 02:02:07PM -0400, Greg Burd wrote: > On Mon, Mar 23, 2026, at 2:39 PM, Nathan Bossart wrote: >> On Tue, Mar 17, 2026 at 02:04:11PM -0400, Greg Burd wrote: >>> - * INDEX_ATTR_BITMAP_SUMMARIZED Columns included in summarizing indexes >>> + * INDEX_ATTR_BITMAP_INDEXED Columns referenced by indexes >>> + * INDEX_ATTR_BITMAP_SUMMARIZED Columns only included in summarizing indexes >> >>> - Bitmapset *summarizedattrs; /* columns with summarizing indexes */ >>> + Bitmapset *indexedattrs; /* columns referenced by indexes */ >>> + Bitmapset *summarizedattrs; /* columns only in summarizing indexes */ >> >> As before, the comment changes for the summarized-attr-related stuff seem >> unnecessary. > > I disagree, the "only" is required to highlight the logic change here. > Before this patch summarized attrs could overlap with indexed attrs, now > it should not. This makes the logic a bit easier later in > HeapUpdateHotAllowable(). My bad, you are right. > So, we go from 3 calls to RelationGetIndexAttrBitmap() to 1, or at most 2 > when there's a summarizing index (which is frequently the case). > > This feels more logical, cleaner, and has less overhead but supports the > same HOT logic. Nice. -- nathan