Add select_common_typmod()
authorPeter Eisentraut <peter@eisentraut.org>
Tue, 27 Oct 2020 16:39:23 +0000 (17:39 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Tue, 27 Oct 2020 17:10:42 +0000 (18:10 +0100)
commitf893e68d761adbee7f888109b1adf76151e3e17a
treefd4da3319cf385c87f23786edc24283fa25589cc
parent59ab4ac32460a6a93b665f4e487d7ff64979ba4d
Add select_common_typmod()

This accompanies select_common_type() and select_common_collation().
Typmods were previously combined using hand-coded logic in several
places.  The logic in select_common_typmod() isn't very exciting, but
it makes the code more compact and readable in a few locations, and in
the future we can perhaps do more complicated things if desired.

As a small enhancement, the type unification of the direct and
aggregate arguments of hypothetical-set aggregates now unifies the
typmod as well using this new function, instead of just dropping it.

Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi>
Discussion: https://www.postgresql.org/message-id/flat/97df3af9-8b5e-fb7f-a029-3eb7e80d7af9@2ndquadrant.com
src/backend/parser/analyze.c
src/backend/parser/parse_clause.c
src/backend/parser/parse_coerce.c
src/backend/parser/parse_func.c
src/include/parser/parse_coerce.h