Re: bytea operator bugs (was Re: [GENERAL] BYTEA, indexes and "like")

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: bytea operator bugs (was Re: [GENERAL] BYTEA, indexes and "like")
Дата
Msg-id 8815.1029709966@sss.pgh.pa.us
обсуждение исходный текст
Ответ на bytea operator bugs (was Re: [GENERAL] BYTEA, indexes and "like")  (Joe Conway <mail@joeconway.com>)
Список pgsql-patches
Joe Conway <mail@joeconway.com> writes:
> The first was an assert failure in patternsel(). It was looking for
> strictly TEXT as the right-hand const. I guess when I originally did the
> bytea comparison operators last year I didn't have assert checking on :(
> In any case attached is a small patch for that one.

This is not gonna fly: the reason why that Assert is there is that
the rest of the pattern-analysis code assumes it can work with
null-terminated strings.  If you want a one-line patch then the patch
is to change the right-hand argument of bytealike to TEXT.  A "real"
patch would probably require changing all the patternsel routines to
use counted strings, which seems like it will add major uglification.


> I've isolated this down to _bt_getroot() to the following line (about
> line 125 in nbtpage.c):

>     if (!(metaopaque->btpo_flags & BTP_META) ||
>         metad->btm_magic != BTREE_MAGIC)
>         elog(ERROR, "Index %s is not a btree",
>              RelationGetRelationName(rel));

> and more specifically to "!(metaopaque->btpo_flags & BTP_META)".
> But I haven't been able to see any difference between the bytea case
> which fails, and text or varchar which do not.

I'm betting on a memory-clobber kind of problem --- I think something in
the bytea-related code is stomping on the disk buffer that holds the
btree metapage.  Are you testing with --enable-cassert now?  (That turns
on MEMORY_CHECKING which might be helpful...)

            regards, tom lane

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

Предыдущее
От: Joe Conway
Дата:
Сообщение: bytea operator bugs (was Re: [GENERAL] BYTEA, indexes and "like")
Следующее
От: Joe Conway
Дата:
Сообщение: Re: bytea operator bugs (was Re: [GENERAL] BYTEA, indexes