Etsuro Fujita <fujita.ets...@lab.ntt.co.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. regards, tom lane