Why do we expand tuples in execMain.c? - Mailing list pgsql-hackers

From Andres Freund
Subject Why do we expand tuples in execMain.c?
Date
Msg-id 20180808042026.lw3bvhpvcktq6qmn@alap3.anarazel.de
Whole thread Raw
Responses Re: Why do we expand tuples in execMain.c?
List pgsql-hackers
Hi,

I noticed
                if (HeapTupleHeaderGetNatts(tuple.t_data) <
                    RelationGetDescr(erm->relation)->natts)
                {
                    copyTuple = heap_expand_tuple(&tuple,
                                                  RelationGetDescr(erm->relation));
                }
                else
                {
                    /* successful, copy tuple */
                    copyTuple = heap_copytuple(&tuple);
                }

in EvalPlanQualFetchRowMarks, and I'm somewhat confused why it's there?
If it's required here, why isn't it required in dozens of other places?

Greetings,

Andres Freund


pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: Shared buffer access rule violations?
Next
From: Thomas Munro
Date:
Subject: Re: Early WIP/PoC for inlining CTEs