On Thu, 4 Jun 2026 at 17:57, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> wrote:
> While testing "Optimize tuple deformation”, I found a bug:
> I think the problem is in finding the first non-guaranteed attribute where virtual generated attributes are not considered:
Thanks for the report and fix. I pushed a slightly adjusted version.
Form_pg_attribute.attgenerated is '\0' for non-generated columns, so
there's no point in checking cattr->attgenerated as well as that.
I also added an Assert() to help catch any other reason that the
guaranteed column gets set incorrectly again in TupleDescFinalize().
David