From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
---|---|
To: | David G Johnston <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Re: how to find the order of joins from Explain command XML plan output in PostgreSQL |
Date: | 2014-07-10 11:11:31 |
Message-ID: | CAECtzeUesLMUE4u2K6q1LhsTjUZUFZLLuz4MAKSUeiC2gOt-vA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Le 9 juil. 2014 20:36, "David G Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> a
écrit :
>
> csrajmohan wrote
> > "EXPLAIN (format XML) " command in PostgreSQL9.3.4 gives the plan chosen
> > by
> > the optimizer in XML format. In my program, I have to extract certain
data
> > about optimizer plan from this XML output. I am using *LibXML2* library
> > for
> > parsing the XML. I had successfully extracted information about which
> > relations are involved and what joins are used by parsing the XML. But
> > I am *unable
> > to extract the* *order of joining the relations from the XML output*. I
> > conceptually understood that the reverse level order traversal of binary
> > tree representation of the XML plan will give correct ordering of joins
> > applied. But I could not figure out how do I get that from the XML? Does
> > libXML2 support anything of this sort? If not how should I proceed to
> > tackle this?
>
> So, since nothing better has been forthcoming in your other two posts on
> this topic I'll just say that likely you will have much better luck using
> SAX-based processing as opposed to DOM-based processing. I seriously
doubt
> native/core PostgreSQL facilities will allow you to do what you desire.
>
> As you said, hierarchy and physical output order determines the "order of
> joining" within the planner so you have to capture and track such
relational
> information during your processing - which is made much easier if you
simply
> traverse the output node-by-node exactly as a SAX based parser does.
>
> Though pgAdminIII has a visual query display that you might look at for
> inspiration.
>
FWIW, pgadmin's visual explain doesn't (yet?) use XML or json or yaml
output.
From | Date | Subject | |
---|---|---|---|
Next Message | Jeevan Chalke | 2014-07-10 11:35:23 | Re: add line number as prompt option to psql |
Previous Message | Kyotaro HORIGUCHI | 2014-07-10 10:49:52 | Re: pg_resetxlog to clear backup start/end locations. |