Fix LIKE matching with nondeterministic collations and backslashes. Commit 85b7efa1c added support for LIKE with nondeterministic collations, but it included a bug in the de-escaping logic for literal pattern substrings. That unconditionally skipped all backslashes, but when it encounters '\\' it should emit the second backslash as a de-escaped character. That led to acting as though the escaped backslash was not there.
Bug: #19474 Reported-by: Bowen Shi <[email protected]> Author: Nitin Motiani <[email protected]> Reviewed-by: Zsolt Parragi <[email protected]> Reviewed-by: Ewan Young <[email protected]> Reviewed-by: Tom Lane <[email protected]> Discussion: https://postgr.es/m/[email protected] Discussion: https://postgr.es/m/cah5hc94yu+k8gcdy12m5bs8gwd_sxlshzc9k5tnk7jdnpbi...@mail.gmail.com Backpatch-through: 18 Branch ------ REL_19_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/99775b3885b600277dea577db69e7469e59bcdbe Modified Files -------------- src/backend/utils/adt/like_match.c | 5 ++--- src/test/regress/expected/collate.icu.utf8.out | 31 ++++++++++++++++++++++++++ src/test/regress/sql/collate.icu.utf8.sql | 7 ++++++ 3 files changed, 40 insertions(+), 3 deletions(-)
