On Fri, Jan 22, 2021 at 09:26:29PM +0000, Tom Lane wrote:
> Re-allow DISTINCT in pl/pgsql expressions.
>
> I'd omitted this from the grammar in commit c9d529848, figuring that
> it wasn't worth supporting. However we already have one complaint,
> so it seems that judgment was wrong. It doesn't require a huge
> amount of code, so add it back. (I'm still drawing the line at
> UNION/INTERSECT/EXCEPT though: those'd require an unreasonable
> amount of grammar refactoring, and the single-result-row restriction
> makes them near useless anyway.)
>
> Also rethink the documentation: this behavior is a property of
> all pl/pgsql expressions, not just assignments.
>
> Discussion: https://postgr.es/m/20210122134106.e94c5cd7@mail.verfriemelt.org
I am seeing a warning generated by preproc.y, which is generated via
Perl from gram.y, which was modified by this commit. The bison output
is:
$ /usr/bin/bison -Wno-deprecated -d -o preproc.c preproc.y
preproc.y: warning: 1 nonterminal useless in grammar [-Wother]
preproc.y: warning: 2 rules useless in grammar [-Wother]
preproc.y:10134.2-20: warning: nonterminal useless in grammar: opt_distinct_clause [-Wother]
opt_distinct_clause:
^~~~~~~~~~~~~~~~~~~
I only see it when I do a "make maintainer-clean" before the make
because "make clean" does not remove preproc.y.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
The usefulness of a cup is in its emptiness, Bruce Lee