Fix broken MemoizePath support in reparameterize_path().
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 4 Dec 2022 18:48:12 +0000 (13:48 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 4 Dec 2022 18:48:12 +0000 (13:48 -0500)
commite76913802c5347831aadc1513b59196bde6ec116
tree5fc3de182ec4390ca762890fec6b2773ead4fe8a
parent6eb2f0ed4cd5c8668c3127024a8a58b10fa2e8dc
Fix broken MemoizePath support in reparameterize_path().

It neglected to recurse to the subpath, meaning you'd get back
a path identical to the input.  This could produce wrong query
results if the omission meant that the subpath fails to enforce
some join clause it should be enforcing.  We don't have a test
case for this at the moment, but the code is obviously broken
and the fix is equally obvious.  Back-patch to v14 where
Memoize was introduced.

Richard Guo

Discussion: https://postgr.es/m/CAMbWs4_R=ORpz=Lkn2q3ebPC5EuWyfZF+tmfCPVLBVK5W39mHA@mail.gmail.com
src/backend/optimizer/util/pathnode.c