Re: postgres_fdw: wrong results with self join + enable_nestloop off

Поиск
Список
Период
Сортировка
От Richard Guo
Тема Re: postgres_fdw: wrong results with self join + enable_nestloop off
Дата
Msg-id CAMbWs4-8huBA2ZzxMxYL85=c=LMnK7W95XD+XSeKwQmkXacQFg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: postgres_fdw: wrong results with self join + enable_nestloop off  (Nishant Sharma <nishant.sharma@enterprisedb.com>)
Список pgsql-hackers

On Fri, Jun 2, 2023 at 8:31 PM Nishant Sharma <nishant.sharma@enterprisedb.com> wrote:
I only had a minor comment on below change:-

-   gating_clauses = get_gating_quals(root, scan_clauses);
+   if (best_path->pathtype == T_ForeignScan && IS_JOIN_REL(rel))
+       gating_clauses = get_gating_quals(root, ((ForeignPath *) best_path)->joinrestrictinfo);
+   else
+       gating_clauses = get_gating_quals(root, scan_clauses);


Instead of using 'if' and creating a special case here can't we do something in the above switch?

I thought about that too.  IIRC I did not do it in that way because
postgresGetForeignPlan expects that there is no scan_clauses for a join
rel.  So doing that would trigger the Assert there.

   /*
    * For a join rel, baserestrictinfo is NIL and we are not considering
    * parameterization right now, so there should be no scan_clauses for
    * a joinrel or an upper rel either.
    */
   Assert(!scan_clauses);

Thanks
Richard

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

Предыдущее
От: Richard Guo
Дата:
Сообщение: Re: postgres_fdw: wrong results with self join + enable_nestloop off
Следующее
От: jiye
Дата:
Сообщение: confusion about this commit "Revert "Skip redundant anti-wraparound vacuums""