Fix estimates for ModifyTable paths without RETURNING.
authorThomas Munro <tmunro@postgresql.org>
Mon, 12 Oct 2020 07:41:16 +0000 (20:41 +1300)
committerThomas Munro <tmunro@postgresql.org>
Mon, 12 Oct 2020 11:26:49 +0000 (00:26 +1300)
commitf0f13a3a08b2757997410f3a1c38bdc22973c525
tree47a4364849b5bdafb0e0e7ba6f33fe471feda985
parent3fb676504da9c019540c7384423c7e3d7d394110
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%3DqpFJrR3AcrTS3g%40mail.gmail.com
src/backend/optimizer/util/pathnode.c