Skip site navigation (1) Skip section navigation (2)

Re: UTF8MatchText

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>, Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-patches(at)postgresql(dot)org
Subject: Re: UTF8MatchText
Date: 2007-05-17 18:36:50
Message-ID: 464CA0C2.4010700@dunslane.net (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-patches

Tom Lane wrote:
> Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>   
>> Tom Lane wrote:
>>     
>>> Wait a second ... I just thought of a counterexample that destroys the
>>> entire concept.  Consider the pattern 'A__B', which clearly is supposed
>>> to match strings of four *characters*.  With the proposed patch in
>>> place, it would match strings of four *bytes*.  Which is not the correct
>>> behavior.
>>>       
>
>   
>>  From what I can see the code is quite careful about when it calls 
>> NextByte vs NextChar, and after _ it calls NextChar.
>>     
>
> Except that the entire point of this patch is to dumb down NextChar to
> be the same as NextByte for UTF8 strings.
>
> 			
>   

That's not what I see in (what I think is) the latest submission, which 
includes this snippet:

+ /* Set up for utf8 characters */
+ #define CHAREQ(p1, p2)    wchareq(p1, p2)
+ #define NextChar(p, plen) \
+   do { int __l = pg_utf_mblen(p); (p) +=__l; (plen) -=__l; } while (0)
+
+ /*
+  * UTF8MatchText -- specialized version of MBMatchText for UTF8
+  */
+ static int
+ UTF8MatchText(char *t, int tlen, char *p, int plen)

Am I looking at the wrong thing? This is from around April 9th I think.


cheers

andrew


In response to

Responses

pgsql-hackers by date

Next:From: Gregory StarkDate: 2007-05-17 18:38:39
Subject: Re: CREATE TABLE LIKE INCLUDING INDEXES support
Previous:From: Tom LaneDate: 2007-05-17 18:16:51
Subject: Re: UTF8MatchText

pgsql-patches by date

Next:From: Gregory StarkDate: 2007-05-17 18:38:39
Subject: Re: CREATE TABLE LIKE INCLUDING INDEXES support
Previous:From: Tom LaneDate: 2007-05-17 18:16:51
Subject: Re: UTF8MatchText

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group