diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2019-11-13 15:53:53 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2019-11-13 15:53:53 -0500 |
commit | 5a6eea0926f4b732a803149a6c169b1f79993fa9 (patch) | |
tree | 40914d350b3c54445a9f6e922e559baae664f201 /src/backend/utils/adt | |
parent | 99cc47b1d85aabc4a80910c839073f83a4fb163b (diff) | |
download | postgresql-5a6eea0926f4b732a803149a6c169b1f79993fa9.tar.gz postgresql-5a6eea0926f4b732a803149a6c169b1f79993fa9.zip |
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
Diffstat (limited to 'src/backend/utils/adt')
-rw-r--r-- | src/backend/utils/adt/varchar.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/backend/utils/adt/varchar.c b/src/backend/utils/adt/varchar.c index b21137c5833..416c73f7286 100644 --- a/src/backend/utils/adt/varchar.c +++ b/src/backend/utils/adt/varchar.c @@ -785,6 +785,8 @@ bpcharne(PG_FUNCTION_ARGS) bool result; Oid collid = PG_GET_COLLATION(); + check_collation_set(collid); + len1 = bcTruelen(arg1); len2 = bcTruelen(arg2); |