From: | Shigeru Hanada <shigeru(dot)hanada(at)gmail(dot)com> |
---|---|
To: | Kouhei Kaigai <kaigai(at)ak(dot)jp(dot)nec(dot)com> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Kohei KaiGai <kaigai(at)kaigai(dot)gr(dot)jp>, Thom Brown <thom(at)linux(dot)com>, "pgsql-hackers(at)postgreSQL(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Custom/Foreign-Join-APIs (Re: [v9.5] Custom Plan API) |
Date: | 2015-05-13 06:07:57 |
Message-ID: | CAEZqfEdffdSXZfS-R5wgTMhrqrWSNCM6SJnxLCnHWwWe_M-_ig@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2015-05-12 10:24 GMT+09:00 Kouhei Kaigai <kaigai(at)ak(dot)jp(dot)nec(dot)com>:
> option-2)
> Tom's suggestion. Add a new list field of Path nodes on CustomPath,
> then create_customscan_plan() will call static create_plan_recurse()
> function to construct child plan nodes.
> Probably, the attached patch will be an image of this enhancement,
> but not tested yet, of course. Once we adopt this approach, I'll
> adjust my PG-Strom code towards the new interface within 2 weeks
> and report problems if any.
+1. This design achieves the functionality required for custom join
by Kaigai-san's use case, instantiating sub-plans of CustomScan plan
recursively, without exposing create_plan_recurse. CSP can use the
index number to distinguish information, like FDWs do with
fdw_private.
IMO it isn't necessary to apply the change onto
ForeignPath/ForeignScan. FDW would have a way to keep-and-use sub
paths as private information. In fact, I wrote postgres_fdw to use
create_plan_recurse to generate SQL statements of inner/outer
relations to be joined, but as of now SQL construction for join
push-down is accomplished by calling private function deparseSelectSql
recursively at the top of a join tree.
Some FDW might hope to use sub-plan generation, but we don't have any
concrete use case as of now.
--
Shigeru HANADA
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2015-05-13 06:32:17 | Re: proposal: contrib module - generic command scheduler |
Previous Message | Jim Nasby | 2015-05-13 05:50:40 | Re: proposal: contrib module - generic command scheduler |