> On Jun 6, 2026, at 12:50, David Rowley <[email protected]> wrote:
> 
> On Thu, 4 Jun 2026 at 17:57, Chao Li <[email protected]> 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.

Thanks for pushing.

> Form_pg_attribute.attgenerated is '\0' for non-generated columns, so
> there's no point in checking cattr->attgenerated as well as that.
> 

I was trying to avoid unconditionally fetching TupleDescAttr(tupdesc, i), since 
cattr->attgenerated is already available and most columns won't be virtual 
generated columns. But I was probably overthinking the performance angle here. 
TupleDescFinalize() runs only when finalizing a tuple descriptor, not during 
per-tuple deformation. I agree your adjusted version is cleaner.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/






Reply via email to