Andreas Seltenreich <seltenreich(at)gmx(dot)de> writes:
> the following query against the regression database crashes master as of
> 23b09e15.
> select 1 from depth0 inner join depth1 on (depth0.c = depth1.c)
> where depth0.c @@ depth1.c limit 1;
What's going on here is that add_partial_path is recycling a now-dominated
partial path without regard for the fact that there's already a GatherPath
pointing at that old partial path. Later use of the GatherPath tries to
make use of its now-dangling subpath pointer.
I'd be inclined to think that it's silly to build GatherPaths in advance
of having finalized the list of partial paths for a rel.
regards, tom lane