Re: Invalid YAML output from EXPLAIN - Mailing list pgsql-bugs
| From | Bruce Momjian |
|---|---|
| Subject | Re: Invalid YAML output from EXPLAIN |
| Date | |
| Msg-id | 201006102254.o5AMsve26331@momjian.us Whole thread Raw |
| In response to | Re: Invalid YAML output from EXPLAIN (Robert Haas <robertmhaas@gmail.com>) |
| Responses |
Re: Invalid YAML output from EXPLAIN
|
| List | pgsql-bugs |
Robert Haas wrote:
> On Wed, Jun 9, 2010 at 4:48 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> > On Wed, Jun 9, 2010 at 4:47 PM, Dean Rasheed <dean.a.rasheed@gmail.com> wrote:
> >> On 9 June 2010 20:56, Robert Haas <robertmhaas@gmail.com> wrote:
> >>> On Wed, Jun 9, 2010 at 3:50 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >>>> Dean Rasheed <dean.a.rasheed@gmail.com> writes:
> >>>>> Hmm. Well it's quite subjective, but IMO it's already more readable
> >>>>> than JSON regardless of whether or not values are quoted, simply
> >>>>> because it doesn't have [ ] and { } for lists and maps, which for JSON
> >>>>> adds significantly to the number of lines in longer plans.
> >>>>
> >>>> Yeah. ?Also, I think it would be fair to not quote values that are known
> >>>> constants (for example, Node Type: Seq Scan) and are chosen to not need
> >>>> quoting. ?It's just the things that are variables that worry me.
> >>>
> >>> Passing down information about which things are known constants seems
> >>> more complicated to me than just getting the quoting rules right in
> >>> the first place. ?If you look at the patch I proposed, you'll see that
> >>> it's really quite simple and only a slight tightening of what I
> >>> committed already.
> >>>
> >>
> >> Reading the YAML spec, I've just spotted yet another case that'll
> >> break what you're proposing: if you don't quote "true" and "false",
> >> the parser will think they're booleans rather than strings.
> >>
> >> This is really why I'm opposed to this approach. There are just so
> >> many gotchas that it's impossible to be 100% sure that you've
> >> accounted for them all.
> >
> > OK, I give up.
>
> I have committed your patch, with some changes to the comments.
>
> Thanks for bearing with me.
So, is there still value to a YAML format vs. JSON? They look similar
to me in this simple case:
test=> EXPLAIN (FORMAT JSON) SELECT * FROM pg_class;
QUERY PLAN
------------------------------------
[ +
{ +
"Plan": { +
"Node Type": "Seq Scan", +
"Relation Name": "pg_class",+
"Alias": "pg_class", +
"Startup Cost": 0.00, +
"Total Cost": 9.53, +
"Plan Rows": 253, +
"Plan Width": 190 +
} +
} +
]
(1 row)
test=> EXPLAIN (FORMAT YAML) SELECT * FROM pg_class;
QUERY PLAN
-------------------------------
- Plan: +
Node Type: "Seq Scan" +
Relation Name: "pg_class"+
Alias: "pg_class" +
Startup Cost: 0.00 +
Total Cost: 9.53 +
Plan Rows: 253 +
Plan Width: 190
(1 row)
Is unquoted identifiers the only value for YAML?
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ None of us is going to be here forever. +
pgsql-bugs by date: