Skip to content

Commit 5a6eea0

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 99cc47b commit 5a6eea0

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/backend/utils/adt/varchar.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -785,6 +785,8 @@ bpcharne(PG_FUNCTION_ARGS)
785785
bool result;
786786
Oid collid = PG_GET_COLLATION();
787787

788+
check_collation_set(collid);
789+
788790
len1 = bcTruelen(arg1);
789791
len2 = bcTruelen(arg2);
790792

0 commit comments

Comments
 (0)