Tom Lane <[EMAIL PROTECTED]> wrote: > On the strength of this closer reading, I would say that the patch isn't > relying on UTF8's first-byte-vs-not-first-byte property after all. > All that it's relying on is that no MB character is a prefix of another > one, which seems like a necessary property for any sane encoding; plus > that characters are considered equal only if they're bytewise equal. > So are we sure it doesn't work for non-UTF8 encodings? Maybe that > earlier conclusion was based on a misunderstanding of what the patch > really does.
Yes, I only used the 'disjoint representations for first-bytes and not-first-bytes of MB characters' feature in UTF8. Other encodings allows both [AB] and [BA] for MB character patterns. UTF8Match() does not cope with those encodings; If we have '[AB][AB]' in a table and search it with LIKE '%[BA]%', we judge that they are matched by mistake. I've also misunderstood it before, and Dennis Bjorklund pointed out. http://archives.postgresql.org/pgsql-hackers/2007-03/msg01377.php Regards, --- ITAGAKI Takahiro NTT Open Source Software Center ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq