Re: Latest on CITEXT 2.0
| От | Marko Kreen |
|---|---|
| Тема | Re: Latest on CITEXT 2.0 |
| Дата | |
| Msg-id | e51f66da0807010750w31aae655h553578ce7aba9d78@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: Latest on CITEXT 2.0 (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: Latest on CITEXT 2.0
|
| Список | pgsql-hackers |
On 6/26/08, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> "David E. Wheeler" <david@kineticode.com> writes:
> > Datum citext_ne (PG_FUNCTION_ARGS) {
> > // Fast path for different-length inputs. Okay for canonical
> > equivalence?
> > if (VARSIZE(PG_GETARG_TEXT_P(0)) != VARSIZE(PG_GETARG_TEXT_P(1)))
> > PG_RETURN_BOOL( 1 );
> > PG_RETURN_BOOL( citextcmp( PG_ARGS ) != 0 );
> > }
>
> BTW, I don't think you can use that same-length optimization for
> citext. There's no reason to think that upper/lowercase pairs will
> have the same length all the time in multibyte encodings.
What about this code in current str_tolower():
/* Output workspace cannot have more codes than input bytes */ workspace = (wchar_t *) palloc((nbytes + 1)
*sizeof(wchar_t));
Bug?
--
marko
В списке pgsql-hackers по дате отправления: