]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Really fix the ambiguity in REFRESH MATERIALIZED VIEW CONCURRENTLY.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 7 Aug 2021 17:29:32 +0000 (13:29 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 7 Aug 2021 17:29:32 +0000 (13:29 -0400)
commitc08b3a9eb6cc1b76be250d5a733a49cfc577fe99
tree419cc70dd271bc1e3fc3013b42d2594c79e73a31
parent5b7b92ad74f2eeb4ac166bb45be31df95e574b3b
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
src/backend/commands/matview.c
src/test/regress/expected/matview.out
src/test/regress/sql/matview.sql