pgsql: Improve efficiency of LIKE/ILIKE code, especially for multi-byte - Mailing list pgsql-committers

From adunstan@postgresql.org (Andrew Dunstan)
Subject pgsql: Improve efficiency of LIKE/ILIKE code, especially for multi-byte
Date
Msg-id 20070602020342.799769FC36E@postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Improve efficiency of LIKE/ILIKE code, especially for multi-byte charsets,
and most especially for UTF8. Remove unnecessary special cases for bytea
processing and single-byte charset ILIKE.  a ILIKE b is now processed as
lower(a) LIKE lower(b) in all cases. The code is now considerably simpler. All
comparisons are now performed byte-wise, and the text and pattern are also
advanced byte-wise where it is safe to do so - essentially where a wildcard is
not being matched.
Andrew Dunstan, from an original patch by ITAGAKI Takahiro, with ideas from
Tom Lane and Mark Mielke.

Modified Files:
--------------
    pgsql/src/backend/utils/adt:
        like.c (r1.68 -> r1.69)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/like.c.diff?r1=1.68&r2=1.69)
        like_match.c (r1.15 -> r1.16)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/like_match.c.diff?r1=1.15&r2=1.16)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Fix aboriginal bug in BufFileDumpBuffer that would cause it to
Next
From: momjian@postgresql.org (Bruce Momjian)
Date:
Subject: pgsql: TODO item not needed anymore now that the buffer cache is