mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-24 18:55:04 +08:00
Fix bogus handling of bad strategy number in GIST consistent() functions.
Make sure we throw an error instead of silently doing the wrong thing when fed a strategy number we don't recognize. Also, in the places that did already throw an error, spell the error message in a way more consistent with our message style guidelines. Per report from Paul Jones. Although this is a bug, it won't occur unless a superuser tries to do something he shouldn't, so it doesn't seem worth back-patching.
This commit is contained in:
parent
f0aa6c06d4
commit
4dfb065b3a
@ -926,7 +926,9 @@ gist_box_leaf_consistent(BOX *key, BOX *query, StrategyNumber strategy)
|
||||
PointerGetDatum(query)));
|
||||
break;
|
||||
default:
|
||||
retval = FALSE;
|
||||
elog(ERROR, "unrecognized strategy number: %d", strategy);
|
||||
retval = false; /* keep compiler quiet */
|
||||
break;
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
@ -1015,7 +1017,9 @@ rtree_internal_consistent(BOX *key, BOX *query, StrategyNumber strategy)
|
||||
PointerGetDatum(query)));
|
||||
break;
|
||||
default:
|
||||
retval = FALSE;
|
||||
elog(ERROR, "unrecognized strategy number: %d", strategy);
|
||||
retval = false; /* keep compiler quiet */
|
||||
break;
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
@ -1306,7 +1310,9 @@ gist_point_consistent_internal(StrategyNumber strategy,
|
||||
}
|
||||
break;
|
||||
default:
|
||||
elog(ERROR, "unknown strategy number: %d", strategy);
|
||||
elog(ERROR, "unrecognized strategy number: %d", strategy);
|
||||
result = false; /* keep compiler quiet */
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -1422,8 +1428,9 @@ gist_point_consistent(PG_FUNCTION_ARGS)
|
||||
}
|
||||
break;
|
||||
default:
|
||||
elog(ERROR, "unknown strategy number: %d", strategy);
|
||||
elog(ERROR, "unrecognized strategy number: %d", strategy);
|
||||
result = false; /* keep compiler quiet */
|
||||
break;
|
||||
}
|
||||
|
||||
PG_RETURN_BOOL(result);
|
||||
@ -1445,8 +1452,9 @@ gist_point_distance(PG_FUNCTION_ARGS)
|
||||
PG_GETARG_POINT_P(1));
|
||||
break;
|
||||
default:
|
||||
elog(ERROR, "unknown strategy number: %d", strategy);
|
||||
elog(ERROR, "unrecognized strategy number: %d", strategy);
|
||||
distance = 0.0; /* keep compiler quiet */
|
||||
break;
|
||||
}
|
||||
|
||||
PG_RETURN_FLOAT8(distance);
|
||||
|
Loading…
Reference in New Issue
Block a user