Re: [bug?] EXPLAIN outputs 0 for rows and width in cost estimate for update nodes - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: [bug?] EXPLAIN outputs 0 for rows and width in cost estimate for update nodes
Date
Msg-id CA+hUKG++esspqBytR6A6f+J+dwvxDhd7Q-NRHWOtoZCEiXv10Q@mail.gmail.com
Whole thread Raw
In response to [bug?] EXPLAIN outputs 0 for rows and width in cost estimate for update nodes  ("tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>)
Responses RE: [bug?] EXPLAIN outputs 0 for rows and width in cost estimate for update nodes  ("tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>)
List pgsql-hackers
On Wed, Jan 20, 2021 at 9:12 PM tsunakawa.takay@fujitsu.com
<tsunakawa.takay@fujitsu.com> wrote:
> This behavior may possibly be considered as an intended behavior for the reason that Update/Insert/Delete nodes don't
outputrows without RETURNING.  Is this a bug or a correct behavior?
 

Hi Tsunakawa-san,

This was a change made deliberately.  Do you see a problem?

commit f0f13a3a08b2757997410f3a1c38bdc22973c525
Author: Thomas Munro <tmunro@postgresql.org>
Date:   Mon Oct 12 20:41:16 2020 +1300

    Fix estimates for ModifyTable paths without RETURNING.

    In the past, we always estimated that a ModifyTable node would emit the
    same number of rows as its subpaths.  Without a RETURNING clause, the
    correct estimate is zero.  Fix, in preparation for a proposed parallel
    write patch that is sensitive to that number.

    A remaining problem is that for RETURNING queries, the estimated width
    is based on subpath output rather than the RETURNING tlist.

    Reviewed-by: Greg Nancarrow <gregn4422@gmail.com>
    Discussion: https://postgr.es/m/CAJcOf-cXnB5cnMKqWEp2E2z7Mvcd04iLVmV%3DqpFJr
R3AcrTS3g%40mail.gmail.com



pgsql-hackers by date:

Previous
From: "tsunakawa.takay@fujitsu.com"
Date:
Subject: [bug?] EXPLAIN outputs 0 for rows and width in cost estimate for update nodes
Next
From: Kyotaro Horiguchi
Date:
Subject: Re: Wrong usage of RelationNeedsWAL