Re: [HACKERS] ExplainOneQuery_hook ignored for EXPLAIN EXECUTE

2016-11-13 Thread Tom Lane
Andres Freund  writes:
> On 2016-11-13 17:20:05 -0500, Tom Lane wrote:
>> Why do you care?  It's a pretty specialized hook.

> Citus currently uses it to output additional information for distributed
> queries. I suspect we'll instead, for now, have to intercept EXPLAIN as
> a whole then :( (moving to custom plans unfortunately is still a bit off
> unfortunately).

Seems like you might want a hook further down then, perhaps at
ExplainPrintPlan.

regards, tom lane


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


Re: [HACKERS] ExplainOneQuery_hook ignored for EXPLAIN EXECUTE

2016-11-13 Thread Andres Freund
On 2016-11-13 17:20:05 -0500, Tom Lane wrote:
> Andres Freund  writes:
> > I don't quite know what the hook in $subject was originally designed
> > for, but right now it has the problem that it's not invoked for EXPLAIN
> > EXECUTE.  That's because ExplainExecuteQuery directly calls
> > ExplainOnePlan instead of ExplainOneQuery_hook.
>
> > Unfortunately that's not entirely trivial to fix, because the hook
> > accepts a Query, not a PlannedStmt.
>
> AFAIR, the purpose of that hook was to let index advisor plugins have
> control of the planning step in an EXPLAIN, so that they could do things
> like injecting hypothetical indexes.  There isn't any easy way to do
> something similar in EXPLAIN EXECUTE because the plan comes out of the
> plancache.

> Why do you care?  It's a pretty specialized hook.

Citus currently uses it to output additional information for distributed
queries. I suspect we'll instead, for now, have to intercept EXPLAIN as
a whole then :( (moving to custom plans unfortunately is still a bit off
unfortunately).

Andres


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


Re: [HACKERS] ExplainOneQuery_hook ignored for EXPLAIN EXECUTE

2016-11-13 Thread Tom Lane
Andres Freund  writes:
> I don't quite know what the hook in $subject was originally designed
> for, but right now it has the problem that it's not invoked for EXPLAIN
> EXECUTE.  That's because ExplainExecuteQuery directly calls
> ExplainOnePlan instead of ExplainOneQuery_hook.

> Unfortunately that's not entirely trivial to fix, because the hook
> accepts a Query, not a PlannedStmt.

AFAIR, the purpose of that hook was to let index advisor plugins have
control of the planning step in an EXPLAIN, so that they could do things
like injecting hypothetical indexes.  There isn't any easy way to do
something similar in EXPLAIN EXECUTE because the plan comes out of the
plancache.

Why do you care?  It's a pretty specialized hook.

regards, tom lane


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