Re: explain root element for auto-explain
От | Andrew Dunstan |
---|---|
Тема | Re: explain root element for auto-explain |
Дата | |
Msg-id | 4A89F1C2.6000203@dunslane.net обсуждение исходный текст |
Ответ на | Re: explain root element for auto-explain (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: explain root element for auto-explain
Re: explain root element for auto-explain |
Список | pgsql-hackers |
Tom Lane wrote: > Andrew Dunstan <andrew.dunstan@pgexperts.com> writes: > >> The attached tiny patch sets the <explain> root element for auto-explain >> XML output, so it looks something like this: >> > > This looks reasonable in itself, but it sort of begs the question on > two other things: > > * what's the xmlns URL really going to be? > By convention it refers to a place where you publish the schema for the document type, but it is in fact completely arbitrary, and can refer to a non-existant resource - as long as it is unique - it's just a namespace designator, and from an XML POV has no more semantic significance that a schema name does in SQL. > * what's the <Query> element in regular XML output good for? And > shouldn't we make both explain and auto-explain either have that or not? > > and also, why isn't it present in the JSON output for either? We seem to have several places when we output an XML tag but not a corresponding named JSON node. Is that really a good idea? >> The JSON output looks like this: >> > > >> [ >> "Plan": { >> "Node Type": "Result", >> "Startup Cost": 0.00, >> "Total Cost": 0.01, >> "Plan Rows": 1, >> "Plan Width": 0 >> } >> ] >> > > <squint> Bearing in mind that I know roughly nothing of JSON ... surely > the above is syntactically incorrect? A labeled value should be within > {...} not [...]. I think this is closely related to the point about > <Query>, ie the same semantic nesting level is missing in both cases. > Looks like it. <http://www.jsonlint.com/> is useful for checking such things. Of course, the current JSON output from auto-explain (i.e. without the enclosing [ ] ) is also illegal, unlike the output from "explain (format json) select 1", which encloses the Plan node in { } inside the [ ], cheers andrew
В списке pgsql-hackers по дате отправления: