On 2016/07/27 13:09, Ashutosh Bapat wrote:
The patch always prints ForeignJoin when scanrelid <= 0, which would be
odd considering that FDWs can now push down post-join operations. We
need to device a better way to convey post-join operations. May be
something like
Foreign Grouping, aggregation on ...
Foreign Join on ...
Good point!
The point of the proposed patch is to print "Foreign Join"/"Custom
Join", to show, in every text/xml/json/yaml format, that there are
multiple target relations involved in that join and to print those
relations, following the "Foreign Join"/"Custom Join" words, which I
think would be more machine-readable.
But then the question is a foreign scan node can be pushing down many
operations together e.g. join, aggregation, sort OR join aggregation and
windowing OR join and insert. How would we clearly convey this? May be
we say
Foreign Scan
operations: join on ..., aggregation, ...
That wouldn't be so great and might be clumsy for many operations. Any
better idea?
How about: when doing post scan/join operations remotely, print such
additional operations in EXPLAIN the same way as in the "Relations" or
"Remote SQL" info printed by postgres_fdw. Maybe something like this:
Foreign Scan/Join on target relation(s)
Output: ...
Relations: ...
Additional Operations: grouping, aggregate, ...
Remote SQL: ...
That seems not that clumsy to me.
Best regards,
Etsuro Fujita
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers