Re: pgsql: Fix planner's use of Result Cache with unique joins

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: pgsql: Fix planner's use of Result Cache with unique joins
Дата
Msg-id 457998.1621779290@sss.pgh.pa.us
обсуждение исходный текст
Ответ на pgsql: Fix planner's use of Result Cache with unique joins  (David Rowley <drowley@postgresql.org>)
Ответы Re: pgsql: Fix planner's use of Result Cache with unique joins
Список pgsql-committers
David Rowley <drowley@postgresql.org> writes:
> Fix planner's use of Result Cache with unique joins

Coverity is not happy with this:

/srv/coverity/git/pgsql-git/postgresql/src/backend/optimizer/path/joinpath.c: 532 in get_resultcache_path()
526          * determining if the join is unique.
527          *
528          * XXX this could be enabled if the remaining join quals were made part of
529          * the inner scan's filter instead of the join filter.  Maybe it's worth
530          * considering doing that?
531          */
>>>     CID 1484914:  Null pointer dereferences  (FORWARD_NULL)
>>>     Dereferencing null pointer "inner_path->param_info".
532         if (extra->inner_unique &&
533             list_length(inner_path->param_info->ppi_clauses) <
534             list_length(extra->restrictlist))
535             return NULL;
536

This complaint is triggered because elsewhere in the same function,
you're careful to check for inner_path->param_info being null before
trying to dereference it:

    if ((inner_path->param_info == NULL ||
         inner_path->param_info->ppi_clauses == NIL) &&
        innerrel->lateral_vars == NIL)
        return NULL;

Coverity reasons that it's probably a bug that you didn't do the same
here; and I think it's right.

            regards, tom lane



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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: pgsql: doc: word-wrap and indent PG 14 relnotes
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Be more verbose when the postmaster unexpectedly quits.