Re: Bogus EXPLAIN results with column aliases for mismatched partitions

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Etsuro Fujita <etsuro.fujita@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2019-12-02T14:41:43Z
Lists: pgsql-hackers
Etsuro Fujita <etsuro.fujita@gmail.com> writes:
> I think "names of relation" should be "names of relations", so how
> about fixing that as well?

Ah, missed that.

> On Mon, Dec 2, 2019 at 6:34 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> BTW, the existing code always schema-qualifies the relation names,
>> on the rather lame grounds that it's producing the string without
>> knowing whether EXPLAIN VERBOSE will be specified.  In this code,
>> the verbose flag is available so it would be trivial to make the
>> output conform to EXPLAIN's normal policy.  I didn't change that
>> here because there'd be a bunch more test output diffs of no
>> intellectual interest.  Should we change it, or leave well enough
>> alone?

> I think it would be better to keep that as-is because otherwise, in
> case of a foreign join or aggregate, EXPLAIN without the VERBOSE
> option won't show any information about foreign tables involved in
> that foreign join or aggregate, which isn't useful for users.

No, I'm just talking about dropping the schema-qualification of table
names when !es->verbose, not removing the Relations: output altogether.
That would be more consistent with the rest of EXPLAIN's output.

			regards, tom lane



Commits

  1. Further sync postgres_fdw's "Relations" output with the rest of EXPLAIN.

  2. Fix EXPLAIN's column alias output for mismatched child tables.

  3. Add a reverse-translation column number array to struct AppendRelInfo.

  4. Make postgres_fdw's "Relations" output agree with the rest of EXPLAIN.

  5. Allow access to child table statistics if user can read parent table.