pgsql: Avoid sharing subpath list structure when flattening nested Appe - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Avoid sharing subpath list structure when flattening nested Appe
Date
Msg-id E1Oyrmn-0005oi-De@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Avoid sharing subpath list structure when flattening nested AppendRels.

In some situations the original coding led to corrupting the child AppendRel's
subpaths list, effectively adding other members of the parent's list to it.
This was usually masked because we never made any further use of the child's
list, but given the right combination of circumstances, we could do so.  The
visible symptom would be a relation getting scanned twice, as in bug #5673
from David Schmitt.

Backpatch to 8.2, which is as far back as the risky coding appears.  The
example submitted by David only fails in 8.4 and later, but I'm not convinced
that there aren't any even-more-obscure cases where 8.2 and 8.3 would fail.

Branch
------
master

Details
-------
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=ee63981c1fe26299162b9c7f1218d7e3ef802409

Modified Files
--------------
src/backend/optimizer/path/allpaths.c |    2 +-
1 files changed, 1 insertions(+), 1 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Avoid sharing subpath list structure when flattening nested Appe
Next
From: Tom Lane
Date:
Subject: pgsql: Avoid sharing subpath list structure when flattening nested Appe