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:
parent
c66e4f138b
commit
9f4563f743
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user