Re-allow DISTINCT in pl/pgsql expressions.

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

Commit: 7cd9765f9bd3397b8d4d0f507021ef848b6d48d2
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2021-01-22T21:26:22Z
Releases: 14.0
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

Files

PathChange+/−
doc/src/sgml/plpgsql.sgml modified +18 −14
src/backend/parser/analyze.c modified +24 −5
src/backend/parser/gram.y modified +28 −16

Documentation touched

Discussion