pgsql: Really fix the ambiguity in REFRESH MATERIALIZED VIEW CONCURRENT - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Really fix the ambiguity in REFRESH MATERIALIZED VIEW CONCURRENT
Date
Msg-id E1mCQ99-00021s-3a@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Really fix the ambiguity in REFRESH MATERIALIZED VIEW CONCURRENTLY.

Rather than trying to pick table aliases that won't conflict with
any possible user-defined matview column name, adjust the queries'
syntax so that the aliases are only used in places where they can't be
mistaken for column names.  Mostly this consists of writing "alias.*"
not just "alias", which adds clarity for humans as well as machines.
We do have the issue that "SELECT alias.*" acts differently from
"SELECT alias", but we can use the same hack ruleutils.c uses for
whole-row variables in SELECT lists: write "alias.*::compositetype".

We might as well revert to the original aliases after doing this;
they're a bit easier to read.

Like 75d66d10e, back-patch to all supported branches.

Discussion: https://postgr.es/m/2488325.1628261320@sss.pgh.pa.us

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/2c915905e3e82b1db28dce8630f8d20b3db316f2

Modified Files
--------------
src/backend/commands/matview.c        | 51 ++++++++++++++++++++---------------
src/test/regress/expected/matview.out | 10 ++++++-
src/test/regress/sql/matview.sql      | 10 ++++++-
3 files changed, 47 insertions(+), 24 deletions(-)


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o
Next
From: Tom Lane
Date:
Subject: Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o