Add to_regtypemod function to extract typemod from a string type name.
Tom Lane <tgl@sss.pgh.pa.us>
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
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/func.sgml | modified | +46 −31 |
| src/backend/utils/adt/regproc.c | modified | +20 −0 |
| src/include/catalog/catversion.h | modified | +1 −1 |
| src/include/catalog/pg_proc.dat | modified | +3 −0 |
| src/test/regress/expected/regproc.out | modified | +37 −0 |
| src/test/regress/sql/regproc.sql | modified | +8 −0 |
Documentation touched
Discussion
- Patch: Add parse_type Function 49 messages · 2024-02-04 → 2024-03-20