Fix a comment in paraminfo_get_equal_hashops

Поиск
Список
Период
Сортировка
От Richard Guo
Тема Fix a comment in paraminfo_get_equal_hashops
Дата
Msg-id CAMbWs48HZGZOV85g0fx8z1qDx6NNKHexJPT2FCnKnZhxBWkd-A@mail.gmail.com
обсуждение исходный текст
Ответы Re: Fix a comment in paraminfo_get_equal_hashops  (David Rowley <dgrowleyml@gmail.com>)
Список pgsql-hackers
As stated in [1], there is a typo in the comment in
paraminfo_get_equal_hashops.

    foreach(lc, innerrel->lateral_vars)
    {
        Node       *expr = (Node *) lfirst(lc);
        TypeCacheEntry *typentry;

        /* Reject if there are any volatile functions in PHVs */
        if (contain_volatile_functions(expr))
        {
            list_free(*operators);
            list_free(*param_exprs);
            return false;
        }

The expressions in RelOptInfo.lateral_vars are not necessarily from
PHVs.  For instance

explain (costs off)
select * from t t1 join
    lateral (select * from t t2 where t1.a = t2.a offset 0) on true;
            QUERY PLAN
----------------------------------
 Nested Loop
   ->  Seq Scan on t t1
   ->  Memoize
         Cache Key: t1.a
         Cache Mode: binary
         ->  Seq Scan on t t2
               Filter: (t1.a = a)
(7 rows)

The lateral Var 't1.a' comes from the lateral subquery.

So attach a trivial patch to fix that.

[1] https://www.postgresql.org/message-id/CAMbWs49dEHRPe8poM_K39r2uOsaOZcg+Y0B5a8tF7vW3uVR3mw@mail.gmail.com

Thanks
Richard
Вложения

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

Предыдущее
От: Tatsuo Ishii
Дата:
Сообщение: Re: Using defines for protocol characters
Следующее
От: "Drouvot, Bertrand"
Дата:
Сообщение: Re: Synchronizing slots from primary to standby