]> granicus.if.org Git - postgresql/commit
Use fuzzy not exact cost comparison for the final tie-breaker in add_path.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 21 Apr 2012 04:51:14 +0000 (00:51 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 21 Apr 2012 04:51:14 +0000 (00:51 -0400)
commit33e99153e93b9accfa51ac036828144e1c2507b7
tree9d0d57a0ec28d5b47d7cea5c3e18df60a6f368a7
parent09ff76fcdb275769ac4d1a45a67416735613d04b
Use fuzzy not exact cost comparison for the final tie-breaker in add_path.

Instead of an exact cost comparison, use a fuzzy comparison with 1e-10
delta after all other path metrics have proved equal.  This is to avoid
having platform-specific roundoff behaviors determine the choice when
two paths are really the same to our cost estimators.  Adjust the
recently-added test case that made it obvious we had a problem here.
src/backend/optimizer/util/pathnode.c
src/test/regress/expected/join.out