Allow psql's \df and \do commands to specify argument types.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 8 Apr 2021 03:02:16 +0000 (23:02 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 8 Apr 2021 03:02:21 +0000 (23:02 -0400)
commita3027e1e7f3d3a107ecd72d3b4d6333ea2aab6a5
tree4fcc9b9bb3af4030fc0fd3fe3004926cbc86b54a
parentf57a2f5e03054ade221e554c70e628e1ffae1b66
Allow psql's \df and \do commands to specify argument types.

When dealing with overloaded function or operator names, having
to look through a long list of matches is tedious.  Let's extend
these commands to allow specification of (input) argument types
to let such results be trimmed down.  Each additional argument
is treated the same as the pattern argument of \dT and matched
against the appropriate argument's type name.

While at it, fix \dT (and these new options) to recognize the
usual notation of "foo[]" for "the array type over foo", and
to handle the special abbreviations allowed by the backend
grammar, such as "int" for "integer".

Greg Sabino Mullane, revised rather significantly by me

Discussion: https://postgr.es/m/CAKAnmmLF9Hhu02N+s7uAyLc5J1xZReg72HQUoiKhNiJV3_jACQ@mail.gmail.com
doc/src/sgml/ref/psql-ref.sgml
src/bin/psql/command.c
src/bin/psql/describe.c
src/bin/psql/describe.h
src/bin/psql/help.c
src/fe_utils/string_utils.c
src/test/regress/expected/psql.out
src/test/regress/sql/psql.sql