]> granicus.if.org Git - postgresql/commit
The random selection in function linear() could deliver a value equal to max
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 14 Jun 2005 14:21:31 +0000 (14:21 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 14 Jun 2005 14:21:31 +0000 (14:21 +0000)
commita1f08fcf80683c1c4e83e1c97d6fb3443eff3b05
treebd5ee41c370d7005fa599f5c205242307c93320b
parent4f3ae012fdf435e601d54f7a6ee6fb791a1a4774
The random selection in function linear() could deliver a value equal to max
if geqo_rand() returns exactly 1.0, resulting in failure due to indexing
off the end of the pool array.  Also, since this is using inexact float math,
it seems wise to guard against roundoff error producing values slightly
outside the expected range.  Per report from bug@zedware.org.
src/backend/optimizer/geqo/geqo_selection.c