Commit 4dfb065b authored by Tom Lane's avatar Tom Lane

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.
parent f0aa6c06
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment