Add missing check_collation_set call to bpcharne().

We should throw an error for indeterminate collation, but bpcharne()
was missing that logic, resulting in a much less user-friendly error
(either an assertion failure or "cache lookup failed for collation 0").

Per report from Manuel Rigger.  Back-patch to v12 where the mistake
came in, evidently in commit 5e1963fb7.  (Before non-deterministic
collations, this function wasn't collation sensitive.)

Discussion: https://postgr.es/m/CA+u7OA4HOjtymxAbuGNh4-X_2R0Lw5n01tzvP8E5-i-2gQXYWA@mail.gmail.com
This commit is contained in:
Tom Lane 2019-11-13 15:53:53 -05:00
parent 0cafdd03a8
commit d57d61533a
1 changed files with 2 additions and 0 deletions

View File

@ -784,6 +784,8 @@ bpcharne(PG_FUNCTION_ARGS)
bool result;
Oid collid = PG_GET_COLLATION();
check_collation_set(collid);
len1 = bcTruelen(arg1);
len2 = bcTruelen(arg2);