Re: BUG #17486: [pg_restore] Restoring a view fails if this view contains an attribute without alias name.

Daniel Gustafsson <daniel@yesql.se>

From: Daniel Gustafsson <daniel@yesql.se>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: n.lutic@loxodata.com, pgsql-bugs@lists.postgresql.org
Date: 2022-05-20T19:06:53Z
Lists: pgsql-bugs
> On 20 May 2022, at 19:05, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> 
> I wrote:
>> Hmm ... it's a very easy code change, but it results in a lot of
>> changes in the regression tests (and I've only tried the core tests
>> so far).  Given the lack of prior complaints, I wonder if it's going
>> to be worth this much behavioral churn.
> 
>> It'd be better if we could do this only when the name is actually
>> referenced somewhere, but I don't think that's an easy thing to
>> determine.
> 
> I thought of a compromise position that's not hard to implement:
> change the behavior only if the SELECT output column name is *possibly*
> visible elsewhere, which it is not in (for example) an EXISTS subquery.

Nice one!  I think that's even better than the previous version actually.
Skimming the patch it seems like a reasonable approach.

--
Daniel Gustafsson		https://vmware.com/




Commits

  1. Show 'AS "?column?"' explicitly when it's important.