Add to_regtypemod function to extract typemod from a string type name.
commit1218ca9956ee60afc6975f14c1a4c953bd6bbaa7
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 20 Mar 2024 21:11:23 +0000 (20 17:11 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 20 Mar 2024 21:11:28 +0000 (20 17:11 -0400)
tree193accadb5fecf5c0866e522e77cd3bd090d184c
parent80686761c49d5194d224b344e968c26981611726
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-26B5770B6AA3@justatheory.com
doc/src/sgml/func.sgml
src/backend/utils/adt/regproc.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.dat
src/test/regress/expected/regproc.out
src/test/regress/sql/regproc.sql