From: hubert depesz lubaczewski <depesz@depesz.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Daniel Gustafsson <daniel@yesql.se>
Cc: Hamid Akhtar <hamid.akhtar@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: BUG #16171: Potential malformed JSON in explain output
Date: Mon, 3 Feb 2020 12:40:22 +0100
Message-ID: <20200203114022.GA29777@depesz.com> (raw)
In-Reply-To: <1763.1580662112@sss.pgh.pa.us>
References: <16171-b72259ab75505fa2@postgresql.org>
<495433FC-A268-4956-9B61-5FB135EE5B73@yesql.se>
<157985813081.742.12901374861257824963.pgcf@coridan.postgresql.org>
<9342.1580585875@sss.pgh.pa.us>
<5217695A-8776-4F59-823A-B391DCA1F601@yesql.se>
<1763.1580662112@sss.pgh.pa.us>
On Sun, Feb 02, 2020 at 11:48:32AM -0500, Tom Lane wrote:
> > Does that prevent backpatching this, or are we Ok with EXPLAIN text output not
> > being stable across minors? AFAICT Pg::Explain still works fine with this
> > change, but mileage may vary for other parsers.
> I'm not sure about that either. It should be a clear win for parsers
> of the non-text formats, because now we're generating valid
> JSON-or-whatever where we were not before. But it's not too hard to
> imagine that someone's ad-hoc parser of text output would break,
> depending on how much it relies on field order rather than indentation
> to make sense of things.
Change looks reasonable to me.
Interestingly Pg::Explain doesn't handle either current JSON output in
this case (as it's not a valid JSON), nor the new one - but this can be
fixed easily.
Best regards,
depesz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: depesz@depesz.com, tgl@sss.pgh.pa.us, daniel@yesql.se, hamid.akhtar@gmail.com, pgsql-hackers@lists.postgresql.org
Subject: Re: BUG #16171: Potential malformed JSON in explain output
In-Reply-To: <20200203114022.GA29777@depesz.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox