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 1w2XRV-000Ng6-1N for pgsql-hackers@arkaria.postgresql.org; Tue, 17 Mar 2026 16:38:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w2XRU-003DIy-0E for pgsql-hackers@arkaria.postgresql.org; Tue, 17 Mar 2026 16:38:52 +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 1w2XRT-003DIq-1r for pgsql-hackers@lists.postgresql.org; Tue, 17 Mar 2026 16:38:51 +0000 Received: from mail-dy1-x1331.google.com ([2607:f8b0:4864:20::1331]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w2XRQ-00000000dRr-3V2O for pgsql-hackers@postgresql.org; Tue, 17 Mar 2026 16:38:51 +0000 Received: by mail-dy1-x1331.google.com with SMTP id 5a478bee46e88-2c0bdf1988cso4441675eec.1 for ; Tue, 17 Mar 2026 09:38:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1773765527; x=1774370327; darn=postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=GpzXYrkpcfcw/qNZF14gUUn7ibPH8IC27IAcZdunA6E=; b=jbXWJ2cwqzh7ftpzcI5zC3Ch45AYM4yVWAT8MKivnxzEFtWOuuGCMhW91ApsaZhsuV mmu/ov36/fh7JMHIFpkEoz7ck0j7ZoySiB+YLzb6A3ywif8E9eUoHOPqxqpCCsC9aJcA 85A0HWELHRKFrP46tBo4xDGmJzdc0nnL+cVeMoBYINeCVeu0N1yQkpaSdK/oHncvkNJj /p/7jTWU8VjlkX5s1ga9duwebFV/zApJnkwuAqNlQ+9dh44mTwBPw+EXWSP9rqci+iKA xH4IrP0PwBtlMkQ18t1mDWmqQdrnpbXVo39Qc1YSQxCibneMs5Fsl3AuELYY9ZDobcPD MrMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773765527; x=1774370327; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GpzXYrkpcfcw/qNZF14gUUn7ibPH8IC27IAcZdunA6E=; b=Rdu2L4nHiR2CjiGTu0zLtqDLryXBZMUrQirx0vHlVHip7k0Byoyv/U7TD3T1dwxQKH W3SkLthBcdflASsg4jEux2FZ9XYBhHN2TYop6v1apx77qOjSYdg0Au6Z3dXTG/nZEJ59 2wG5nX5xrzW62P4OVFTGjkwOzOAhv69eULfSQyIytpjyet2VfOVxZPPqaBLhkS4unIYB ErpgZDezqaGxgcDZojei5BdyUav+N2MUBE5CLJYrwCm4OOpmgY1HJsVD6xeQ49psEpiw u+pmLAhVfwVUqsEipbWemhBO6VyjCQzZJxH4P5dQ+E2BQ+ryvAQzhKUAzcFNDZRSxe/a zUGg== X-Gm-Message-State: AOJu0Yzl1EawUQdMTwZEsTbrSykFSjsXaxgxyWl3YucVmvaqNzaW1hMm ZnPrDa79Q0imOuclK094b1FJzMOjWZWHSBMaAA4Y4Pz+snjTf8P7EHp4wmc4OBdubQ== X-Gm-Gg: ATEYQzzP+EkZT7eOutG4bcKgR2pQmCKmwlrgEtAzQbqUW/tBLaZjSFGPxnJPk8e3np4 DNEGHBNrIDeicW66xXYUjq542/YiPWLBe/MTheX0S+lbvDXdlPcIhyr/yBm+gaWdY5wv9g8D+SD V5NjDk1+k3idoA7GHRfo8yGCw1B1szAt0ZQanfnXTiqlSC/fF17Tz21F2911yREUziih59TSasV UfSXBFgHqzaMKoFMlcMnb6TVMabQfYNLzyV7R8XFr8rOBYzqc3R/PDs/qLtDO4NGbsH+UQPI81b fKkZCpYSXhoJKPglQBzIqHuYAtHfI2mnp8jhIUIw3wQm9RRqEPY7JSSDkygjSZv/Wh5Gr2SSOeb AtSxsv/9cYIA0WUwmEtun0F1xliVQ2qbWcMBaJ+x1ADB8s3RI5+hU8VoFEhsRVP7IjxiqNh5qcn Rq8X4g0zu1cdoEb2dSbHWRQ0il4Ek55/XwEmAWJqO+uBwc3D2+Ips= X-Received: by 2002:a05:7300:641f:b0:2b6:aeb8:3d8c with SMTP id 5a478bee46e88-2c0e5145027mr21494eec.32.1773765526762; Tue, 17 Mar 2026 09:38:46 -0700 (PDT) Received: from jeff-laptop.lan (c-24-7-19-3.hsd1.ca.comcast.net. [24.7.19.3]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2beab3eec52sm23482717eec.14.2026.03.17.09.38.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 09:38:46 -0700 (PDT) Message-ID: <887b1ee62794553a95c3578fcdc0cc1831e68b27.camel@j-davis.com> Subject: Re: Expanding HOT updates for expression and partial indexes From: Jeff Davis To: Greg Burd , Nathan Bossart Cc: pgsql-hackers Date: Tue, 17 Mar 2026 09:38:45 -0700 In-Reply-To: <427bfbda-c901-49e4-b725-8ddc41bec23d@app.fastmail.com> References: <9bb9bdd6-e1fe-48fe-837d-4d0289396f1c@app.fastmail.com> <872b875c-0aa4-4269-9c84-532227b32361@app.fastmail.com> <91f4dbe2-21ed-49f3-bebe-270f9bbec9d5@app.fastmail.com> <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> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.52.3-0ubuntu1.1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, 2026-03-16 at 16:51 -0400, Greg Burd wrote: > > Also, the "actually changed values" is only valid for a single > > tuple, > > and it would be good to clarify that and make sure there's not a > > lot of > > room for confusion there. >=20 > Yes, that's true... too much confusion and not enough juice for the > squeeze.=C2=A0 I'm dropping that. That is an interesting case you found in that the columns targeted by an update are not a superset of the columns with actually changed values. But I'm not sure exactly what to make of that fact, and if it's not important for your other changes then I agree that we should drop it. However, it might be good to comment somewhere that your changes (which are based on values in specific tuples) cannot rely on ExecGetAllUpdatedCols(), to avoid confusion in the future. Regards, Jeff Davis