{"push_id":751310247,"size":1,"distinct_size":1,"ref":"refs/heads/REL9_3_STABLE","head":"de5edc660ae09e9a2785e52d2b539f2e0def1e63","before":"0d4913509b0becfd3db3fe9d0266b0ecdf0b3334","commits":[{"sha":"de5edc660ae09e9a2785e52d2b539f2e0def1e63","author":{"email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us","name":"Tom Lane"},"message":"Fix old oversight in join removal logic.\n\nCommit 9e7e29c75ad441450f9b8287bd51c13521641e3b introduced an Assert that\njoin removal didn't reduce the eval_at set of any PlaceHolderVar to empty.\nAt first glance it looks like join_is_removable ensures that's true --- but\nactually, the loop in join_is_removable skips PlaceHolderVars that are not\nreferenced above the join due to be removed.  So, if we don't want any\nempty eval_at sets, the right thing to do is to delete any now-unreferenced\nPlaceHolderVars from the data structure entirely.\n\nPer fuzz testing by Andreas Seltenreich.  Back-patch to 9.3 where the\naforesaid Assert was added.","distinct":true,"url":"https://api.github.com/repos/sunny256/postgres/commits/de5edc660ae09e9a2785e52d2b539f2e0def1e63"}]}