Re: postgres_fdw bug in 9.6

From: Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp>
To: Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: postgres_fdw bug in 9.6
Date: 2017-01-05 02:50:25
Message-ID: d8285a3e-7491-6b83-5206-562ce9fd4308@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2016/12/27 16:41, Etsuro Fujita wrote:
> On 2016/12/22 1:04, Ashutosh Bapat wrote:
>> 2. We should try to look for other not-so-cheap paths if the cheapest
>> one is
>> paramterized. You might want to use get_cheapest_path_for_pathkeys()
>> to find a
>> suitable unparameterized path by passing NULL for required_outer and
>> NIL for
>> pathkeys, that's a very strange usage, but I think it will serve the
>> purpose.

>> + /* Give up if the cheapest-total-cost paths are parameterized. */
>> + if (!bms_is_empty(PATH_REQ_OUTER(outer_path)) ||
>> + !bms_is_empty(PATH_REQ_OUTER(inner_path)))
>> + return NULL;

> I did that because I think that would work well for postgres_fdw, but I
> agree with you. Will revise.

While working on this, I noticed that in that case
get_cheapest_path_for_pathkeys() would return NULL because if the
cheapest-total-cost path is parameterized, then there are no
unparameterized paths in the rel's pathlist (see set_cheapest).

Best regards,
Etsuro Fujita

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Etsuro Fujita 2017-01-05 03:00:07 Re: postgres_fdw bug in 9.6
Previous Message Craig Ringer 2017-01-05 01:21:18 Re: Logical decoding on standby