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- 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
bool result;
Oid collid = PG_GET_COLLATION();
+ check_collation_set(collid);
+
len1 = bcTruelen(arg1);
len2 = bcTruelen(arg2);