Use IEEE infinity, not 1e10, for null-and-not-null case in gistpenalty().

Use of a randomly chosen large value was never exactly graceful, and
now that there are penalty functions that are intentionally using infinity,
it doesn't seem like a good idea for null-vs-not-null to be using something
less.
This commit is contained in:
Tom Lane 2011-11-27 17:12:54 -05:00
parent c66e4f138b
commit 9f4563f743
1 changed files with 5 additions and 2 deletions

View File

@ -19,6 +19,7 @@
#include "access/reloptions.h"
#include "storage/indexfsm.h"
#include "storage/lmgr.h"
#include "utils/builtins.h"
/*
* static *S used for temrorary storage (saves stack and palloc() call)
@ -538,8 +539,10 @@ gistpenalty(GISTSTATE *giststate, int attno,
else if (isNullOrig && isNullAdd)
penalty = 0.0;
else
penalty = 1e10; /* try to prevent mixing null and non-null
* values */
{
/* try to prevent mixing null and non-null values */
penalty = get_float4_infinity();
}
return penalty;
}