Skip to content

Commit d57d615

Browse files
committed
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 5e1963f. (Before non-deterministic collations, this function wasn't collation sensitive.) Discussion: https://postgr.es/m/CA+u7OA4HOjtymxAbuGNh4-X_2R0Lw5n01tzvP8E5-i-2gQXYWA@mail.gmail.com
1 parent 0cafdd0 commit d57d615

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/backend/utils/adt/varchar.c

+2
Original file line numberDiff line numberDiff line change
@@ -784,6 +784,8 @@ bpcharne(PG_FUNCTION_ARGS)
784784
bool result;
785785
Oid collid = PG_GET_COLLATION();
786786

787+
check_collation_set(collid);
788+
787789
len1 = bcTruelen(arg1);
788790
len2 = bcTruelen(arg2);
789791

0 commit comments

Comments
 (0)