From: | Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, 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-17 09:02:49 |
Message-ID: | 5A5F1139.5070400@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
(2018/01/16 12:00), Etsuro Fujita wrote:
> (2018/01/16 11:17), Tom Lane wrote:
>> Etsuro Fujita<fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp> writes:
>>> (2018/01/16 1:47), Robert Haas wrote:
>>>> 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.
>>
>> Doesn't really matter though, does it? Each of those join rows will
>> be processed as a separate EPQ event.
>
> I assume that such a local join plan is executed as part of a FOR UPDATE
> query like the one shown by Robert (the bar/baz foreign join part in
> that query), so I am thinking that those join rows will be processed as
> a single event.
I realized I am wrong; the local join execution plan would never produce
multiple tuples in a single event.
Best regards,
Etsuro Fujita
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Langote | 2018-01-17 09:10:50 | Re: pgsql: Centralize json and jsonb handling of datetime types |
Previous Message | Andrey Borodin | 2018-01-17 08:45:49 | Re: [HACKERS] WIP: Covering + unique indexes. |