Hello

why we develop a new syntax?

we should have a secondary function explain_query(query_string,
option) that returns setof some. Next function should be
explain_query_xml. I thing so for typical use EXPLAIN statement is
enough. And for machine procession some new function should be
perfect.

regards
Pavel Stehule

2009/5/24 Robert Haas <robertmh...@gmail.com>:
> Well, here we are!  Yet another thread about some piece of information
> that's omitted from EXPLAIN and can't easily be added because there
> are a zillion things we want to add to EXPLAIN and it's not OK to bury
> the user[1]!  I've long been of the opinion that the right way to fix
> this problem is to extend the syntax with some sort of extensible
> options syntax[2].  The current "EXPLAIN [ANALYZE] [VERBOSE] <query>"
> syntax does not scale to large numbers of options - it requires that
> the options occur in a fixed order, and that the option names all be
> keywords.  Having gotten throughly fed up with having this
> conversation for the ump-teenth time, I wrote a patch to introduce
> just such a syntax.  See attached.
>
> What I did is borrowed the generic options stuff that Peter Eisentraut
> introduced for FOREIGN DATA WRAPPER et. al, so you can write:
>
> EXPLAIN (option_name1 "option_value1", option_name2 "option_value2") query
> e.g. EXPLAIN (ANALYZE "on") query
>
> As written, this patch doesn't introduce any actual new functionality,
> but I think it's pretty easy to see how we could build on the syntax
> to add things like different types of output formats, different types
> of instrumentation, etc.  A few other random notes:
>
> - This currently lacks documentation.  If we have any consensus that
> this is a reasonable approach, I'll add some.
> - I noticed that we currently accept as a top-level SQL command an
> arbitrarily parenthesized SELECT statement, like ((SELECT 3)).  But
> you can't put parentheses around any other type of statement.  Even
> more oddly, we also accept things like (SELECT 3) ORDER BY 1, which to
> me makes no sense at all.  But that's neither here nor there as far as
> this patch is concerned, except that it required some minor grammar
> hackery and a long comment explaining the hackery.
>
> Thoughts?
>
> ...Robert
>
> [1] http://archives.postgresql.org/message-id/4a16a8af.2080...@anarazel.de
> [2] 
> http://archives.postgresql.org/message-id/603c8f070904151758w6af25641xac831b4cb71c4...@mail.gmail.com
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>
>

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

Reply via email to