Rearrange pseudotypes.c to get rid of duplicative code.

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

Commit: 87c9c2571c8146f1594830072253ba39e62ccbc8
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2020-03-14T19:31:44Z
Releases: 13.0
Rearrange pseudotypes.c to get rid of duplicative code.

Commit a5954de10 replaced a lot of manually-coded stub I/O routines
with code generated by macros.  That was a good idea but it didn't
go far enough, because there were still manually-coded stub input
routines for types that had live output routines.  Refactor the
macro so that we can generate just a stub input routine at need.

Also create similar macros to generate stub binary I/O routines,
since we have some of those now.  The only stub functions that remain
hand-coded are shell_in() and shell_out(), which need to be separate
because they use different error messages.

While here, rearrange the commentary to discuss each type not each
function.  This provides a better way to explain the *why* of which
types need which support, rather than just duplicatively annotating
the functions.

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

Files

PathChange+/−
src/backend/utils/adt/pseudotypes.c modified +123 −225

Discussion