Fix estimates for ModifyTable paths without RETURNING.

Thomas Munro <tmunro@postgresql.org>

Commit: f0f13a3a08b2757997410f3a1c38bdc22973c525
Author: Thomas Munro <tmunro@postgresql.org>
Date: 2020-10-12T11:26:49Z
Releases: 14.0
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

Files

PathChange+/−
src/backend/optimizer/util/pathnode.c modified +8 −5

Discussion