postgresql/src/backend/optimizer/path
David Rowley e1a0f6a983 Adjust overly strict Assert
3373c7155 changed how we determine EquivalenceClasses for relations and
added an Assert to ensure all relations mentioned in each EC's ec_relids
was a RELOPT_BASEREL.  However, the join removal code may remove a LEFT
JOIN and since it does not clean up EC members belonging to the removed
relations it can leave RELOPT_DEADREL rels in ec_relids.

Fix this by adjusting the Assert to allow RELOPT_DEADREL rels too.

Reported-by: sqlsmith via Andreas Seltenreich
Discussion: https://postgr.es/m/87y30r8sls.fsf@ansel.ydns.eu
2019-07-22 10:29:41 +12:00
..
Makefile Extract restriction OR clauses whether or not they are indexable. 2013-12-30 12:24:37 -05:00
allpaths.c Represent Lists as expansible arrays, not chains of cons-cells. 2019-07-15 13:41:58 -04:00
clausesel.c Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
costsize.c Represent Lists as expansible arrays, not chains of cons-cells. 2019-07-15 13:41:58 -04:00
equivclass.c Adjust overly strict Assert 2019-07-22 10:29:41 +12:00
indxpath.c Represent Lists as expansible arrays, not chains of cons-cells. 2019-07-15 13:41:58 -04:00
joinpath.c Prevent Parallel Hash Join for JOIN_UNIQUE_INNER. 2019-06-19 01:25:57 +12:00
joinrels.c Represent Lists as expansible arrays, not chains of cons-cells. 2019-07-15 13:41:58 -04:00
pathkeys.c Speed up finding EquivalenceClasses for a given set of rels 2019-07-21 17:30:58 +12:00
tidpath.c Refactor planner's header files. 2019-01-29 15:48:51 -05:00