Add to_regtypemod function to extract typemod from a string type name.

In combination with to_regtype, this allows converting a string to
the "canonicalized" form emitted by format_type.  That usage requires
parsing the string twice, which is slightly annoying but not really
too expensive.  We considered alternatives such as returning a record
type, but that way was notationally uglier than this, and possibly
less flexible.

Like to_regtype(), we'd rather that this return NULL for any bad
input, but the underlying type-parsing logic isn't yet capable of
not throwing syntax errors.  Adjust the documentation for both
functions to point that out.

In passing, fix up a couple of nearby entries in the System Catalog
Information Functions table that had not gotten the word about our
since-v13 convention for displaying function usage examples.

David Wheeler and Erik Wienhold, reviewed by Pavel Stehule, Jim Jones,
and others.

Discussion: 
https://postgr.es/m/df2324ca-2673-4abe-b382-26b5770b6...@justatheory.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/1218ca9956ee60afc6975f14c1a4c953bd6bbaa7

Modified Files
--------------
doc/src/sgml/func.sgml                | 77 +++++++++++++++++++++--------------
src/backend/utils/adt/regproc.c       | 20 +++++++++
src/include/catalog/catversion.h      |  2 +-
src/include/catalog/pg_proc.dat       |  3 ++
src/test/regress/expected/regproc.out | 37 +++++++++++++++++
src/test/regress/sql/regproc.sql      |  8 ++++
6 files changed, 115 insertions(+), 32 deletions(-)

Reply via email to