On 2016/07/29 13:28, Ashutosh Bapat wrote:

I wrote:
            Probably something like this:

               Foreign Processing
                 Remote Operations: ...

            In the Remote Operations line, the FDW/extension could print
            any info
            about remote operations, eg, "Scan/Join + Aggregate".

I wrote:
    I intentionally chose that word and thought we could leave detailed
    descriptions about remote operations to the FDW/extension; a broader
    word like "Processing" seems to work well because we allow various
    kinds of operations to the remote side, in addition to scans/joins,
    to be performed in that one Foreign Scan node indicated by "Foreign
    Processing", such as aggregation, window functions, distinct, order
    by, row locking, table modification, or combinations of them.

"Scan" is a better word than "Processing". From plan's perspective it's
ultimately a Scan (on the data produced by the foreign server) and not

Exactly, but one thing I'm concerned about is the table modification case; the EXPLAIN output would be something like this:

  Foreign Scan
    Remote SQL: INSERT INTO remote_table VALUES ...

That would be strange, so I think a more broader word is better. I don't think "Foreign Processing" is best. "Foreign Upper" might be much better because the corresponding path is created by calling GetForeignUpperPaths.

Also for a Foreign Scan representing a foreign join, I think "Foreign Join" is better than "Foreign Scan". Here is an example:

  Foreign Join on foreign_table1, foreign_table2
Remote SQL: SELECT ... FROM remote_table1 INNER JOIN remote_table2 WHERE ...

I think "Foreign Join" better indicates that foreign tables listed after that (ie, foreign_table1 and foreign_table2 in the example) are joining (or component) tables of this join, than "Foreign Scan".

Best regards,
Etsuro Fujita

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to