Re: texteq/byteaeq: avoid detoast [REVIEW]

Поиск
Список
Период
Сортировка
От Noah Misch
Тема Re: texteq/byteaeq: avoid detoast [REVIEW]
Дата
Msg-id 20110116224738.GD4600@tornado.leadboat.com
обсуждение исходный текст
Ответ на Re: texteq/byteaeq: avoid detoast [REVIEW]  (Pavel Stehule <pavel.stehule@gmail.com>)
Ответы Re: texteq/byteaeq: avoid detoast [REVIEW]  (Pavel Stehule <pavel.stehule@gmail.com>)
Список pgsql-hackers
On Sun, Jan 16, 2011 at 10:07:13PM +0100, Pavel Stehule wrote:
> I think, so we can have a function or macro that compare a varlena
> sizes. Some like
> 
> Datum texteq(..)
> {
>      if (!datumsHasSameLength(PG_GETARG_DATUM(0), PG_GETARG_DATUM(1))
>         PG_RETURN_FALSE();
> 
>      ... actual code ..
> }

Good point.  Is this something that would be useful many places?  One thing that
bugged me slightly writing this patch is that texteq, textne, byteaeq and
byteane all follow the same pattern rather tightly.  (Indeed, I think one could
easily implement texteq and byteaeq with the exact same C function.)  I like how
we handle this for tsvector (see TSVECTORCMPFUNC in tsvector_op.c) to avoid the
redundancy.  If datumHasSameLength would mainly apply to these four functions or
ones very similar to them, maybe we should abstract out the entire function body
like we do for tsvector?

A topic for a different patch in any case, I think.


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Marti Raudsepp
Дата:
Сообщение: Re: auto-sizing wal_buffers
Следующее
От: Robert Haas
Дата:
Сообщение: Re: limiting hint bit I/O