Re: [HACKERS] postgres_fdw bug in 9.6

From: Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, David Steele <david(at)pgmasters(dot)net>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] postgres_fdw bug in 9.6
Date: 2018-01-16 01:57:49
Message-ID: 5A5D5C1D.5050805@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

(2018/01/16 1:47), Robert Haas wrote:
> On Mon, Jan 15, 2018 at 3:09 AM, Etsuro Fujita
> <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp> wrote:
>> Yeah, but I don't think the above example is good enough to explain that,
>> because I think the bar/baz join would produce at most one tuple in an EPQ
>> recheck since we would have only one EPQ tuple for both bar and baz in that
>> recheck, and the join is inner. I think such an example would probably be
>> given e.g., by a modified version of the SQL where we have a full join of
>> bar and baz, not an inner join.
>
> Hmm, I was thinking that bar and baz wouldn't be constrained to return
> just one tuple in that case, but I'm wrong: there would just be one
> tuple per relation in that case. However, that would also be true for
> a full join, wouldn't it?

Consider:

postgres=# create table bar (a int, b text);
postgres=# create table baz (a int, b text);
postgres=# insert into bar values (1, 'bar');
postgres=# insert into baz values (2, 'baz');
postgres=# select * from bar full join baz on bar.a = baz.a;
a | b | a | b
---+-----+---+-----
1 | bar | |
| | 2 | baz
(2 rows)

Both relations have one tuple, but the full join produces two join
tuples. I think it would be possible that something like this happens
when executing a local join plan for a foreign join that performs a full
join remotely.

> Regardless of that, the patch fixes the reported problem with very
> little code change, and somebody can always improve it further later.

Agreed.

Best regards,
Etsuro Fujita

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2018-01-16 02:17:39 Re: [HACKERS] postgres_fdw bug in 9.6
Previous Message Masahiko Sawada 2018-01-16 01:40:43 Re: [HACKERS] Replication status in logical replication