2009/12/9 Robert Haas <robertmh...@gmail.com>: > On Wed, Dec 9, 2009 at 2:37 PM, Andrew Dunstan <and...@dunslane.net> wrote: >> >> I have just noticed while checking the EXPLAIN YAML patch that the non-text >> explain formats are output as a single line with embedded line feeds, while >> the text format is delivered as a set of text records, one per line. The >> practical effect of this is that psql decorates the non-text format output >> with continuation characters: >> >> andrew=# explain select count(*) from pg_class where relname ~ 'pg_'; >> QUERY PLAN >> ---------------------------------------------------------------- >> Aggregate (cost=9.67..9.68 rows=1 width=0) >> -> Seq Scan on pg_class (cost=0.00..9.16 rows=204 width=0) >> Filter: (relname ~ 'pg_'::text) >> (3 rows) >> >> Time: 5.813 ms >> andrew=# explain (format yaml) select count(*) from pg_class where >> relname ~ 'pg_'; >> QUERY PLAN >> ----------------------------------------- >> - Plan: + >> Node Type: Aggregate + >> Strategy: Plain + >> Startup Cost: 9.67 + >> Total Cost: 9.68 + >> Plan Rows: 1 + >> Plan Width: 0 + >> Plans: + >> - Node Type: Seq Scan + >> Parent Relationship: Outer + >> Relation Name: pg_class + >> Alias: pg_class + >> Startup Cost: 0.00 + >> Total Cost: 9.16 + >> Plan Rows: 204 + >> Plan Width: 0 + >> Filter: (relname ~ 'pg_'::text) >> (1 row) >> >> Those + chars at the end of the line are ugly, to say the least, and they >> make the supposedly machine-readable formats not so machine readable if >> anyone wanted to c&p the output into a parser. (I'm mildly surprised this >> hasn't been noticed before). >> >> Maybe we need to teach psql not to do this formatting for EXPLAIN output? > > Oh, dear. I think that line continuation syntax was recently added - > subsequent to the machine-readable EXPLAIN patch. The reason why it's > coded to emit everything as a single row is because that will be most > convenient for programs that are sucking down this data > programatically. Otherwise, they'll have to concatenate all the lines > that are returned. > > And in fact for XML format, it's even worse: the data is returned as > type xml, but that obviously won't fly if we return each line as a > separate tuple. > > On first blush, I'm inclined to suggest that the addition of + signs > to mark continuation lines is a misfeature.
+1 Pavel > > ...Robert > > -- > 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