Re: Foreign join pushdown vs EvalPlanQual
От | Etsuro Fujita |
---|---|
Тема | Re: Foreign join pushdown vs EvalPlanQual |
Дата | |
Msg-id | 5667E4CE.3070807@lab.ntt.co.jp обсуждение исходный текст |
Ответ на | Re: Foreign join pushdown vs EvalPlanQual (Kouhei Kaigai <kaigai@ak.jp.nec.com>) |
Ответы |
Re: Foreign join pushdown vs EvalPlanQual
|
Список | pgsql-hackers |
On 2015/12/09 13:26, Kouhei Kaigai wrote: >> On Tue, Dec 8, 2015 at 10:00 PM, Etsuro Fujita >> <fujita.etsuro@lab.ntt.co.jp> wrote: >>>> I think the actual regression test outputs are fine, and that your >>>> desire to suppress part of the plan tree from showing up in the >>>> EXPLAIN output is misguided. I like it just the way it is. To >>>> prevent user confusion, I think that when we add support to >>>> postgres_fdw for this we might also want to add some documentation >>>> explaining how to interpret this EXPLAIN output, but I don't think >>>> there's any problem with the output itself. >>> I'm not sure that that's a good idea. one reason for that is I think that >>> that would be more confusing to users when more than two foreign tables are >>> involved in a foreign join as shown in the following example. Note that the >>> outer plans will be shown recursively. Another reason is there is no >>> consistency between the costs of the outer plans and that of the main plan. >> I still don't really see a problem here, but, regardless, the solution >> can't be to hide nodes that are in fact present from the user. We can >> talk about making further changes here, but hiding the nodes >> altogether is categorically out in my mind. > If you really want to hide the alternative sub-plan, you can move the > outer planstate onto somewhere private field on BeginForeignScan, > then kick ExecProcNode() at the ForeignRecheck callback by itself. > Explain walks down the sub-plan if outerPlanState(planstate) is > valid. So, as long as your extension keeps the planstate privately, > it is not visible from the EXPLAIN. > > Of course, I don't recommend it. Sorry, my explanation might be not enough, but I'm not saying to hide the subplan. I think it would be better to show the subplan somewhere in the EXPLAIN outout, but I'm not sure that it's a good idea to show that in the current form. We have two plan trees; one for normal query execution and another for EvalPlanQual testing. I think it'd be better to show the EXPLAIN output the way that allows users to easily identify each of the plan trees. Best regards, Etsuro Fujita
В списке pgsql-hackers по дате отправления: