On 08/08/2018 12:20 AM, Andres Freund wrote:
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?





Not dozens, I think, since you can't have short records for catalog tables, which account for most of the calls to heap_copytuple().

I will look at the remainder of cases (less than 10) and reply in a day or two.

cheers

andrew


--

Andrew Dunstan                https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Reply via email to