Re: Failing assertions in indxpath.c, placeholder.c and brin_minmax.c
| От | Tom Lane |
|---|---|
| Тема | Re: Failing assertions in indxpath.c, placeholder.c and brin_minmax.c |
| Дата | |
| Msg-id | 32728.1438124650@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Re: Failing assertions in indxpath.c, placeholder.c and brin_minmax.c (Alvaro Herrera <alvherre@2ndquadrant.com>) |
| Ответы |
Re: Failing assertions in indxpath.c, placeholder.c and
brin_minmax.c
|
| Список | pgsql-hackers |
Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> Tom Lane wrote:
>> Bottom line is that somebody failed to consider the possibility of a
>> null comparison value reaching the BRIN index lookup machinery.
>> The code stanza that's failing supposes that only IS NULL or IS NOT NULL
>> tests could have SK_ISNULL set, but that's just wrong.
> I think the easiest way to solve this is to consider that all indexable
> operators are strict, and have the function return false in that case.
> The attached patch implements that.
This looks fine to me as a localized fix. I was wondering whether we
could short-circuit the index lookup further upstream, but I take it from
your comment about _bt_preprocess_keys that BRIN has no convenient place
for that today. (Even if it did, I'd still vote for making this change,
for safety's sake.)
regards, tom lane
В списке pgsql-hackers по дате отправления: