pgsql: Avoid sharing subpath list structure when flattening nested Appe

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Avoid sharing subpath list structure when flattening nested Appe
Date: 2010-09-23 19:48:53
Message-ID: E1Oyrmn-0005om-LX@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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
------
REL8_2_STABLE

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

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

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2010-09-23 20:09:18 Re: Configuring synchronous replication
Previous Message Simon Riggs 2010-09-23 19:46:42 Re: Configuring synchronous replication