Re: Oddity in EXPLAIN for foreign/custom join pushdown plans
От | Etsuro Fujita |
---|---|
Тема | Re: Oddity in EXPLAIN for foreign/custom join pushdown plans |
Дата | |
Msg-id | 893f6de7-2406-accc-5806-b4a5210ce690@lab.ntt.co.jp обсуждение исходный текст |
Ответ на | Re: Oddity in EXPLAIN for foreign/custom join pushdown plans (Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>) |
Ответы |
Re: Oddity in EXPLAIN for foreign/custom join pushdown
plans
|
Список | pgsql-hackers |
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 > processing. 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
В списке pgsql-hackers по дате отправления: