Fix psql's \sf and \ef for new-style SQL functions.

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

Commit: 303b26c1bb14abf20a35a9cddebee65e10f5ebd4
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2022-12-02T19:24:44Z
Releases: 14.7
Fix psql's \sf and \ef for new-style SQL functions.

Some options of these commands need to be able to identify the start
of the function body within the output of pg_get_functiondef().
It used to be that that always began with "AS", but since the
introduction of new-style SQL functions, it might also start with
"BEGIN" or "RETURN".  Fix that on the psql side, and add some
regression tests.

Noted by me awhile ago, but I didn't do anything about it.
Thanks to David Johnston for a nag.

Discussion: https://postgr.es/m/AM9PR01MB8268D5CDABDF044EE9F42173FE8C9@AM9PR01MB8268.eurprd01.prod.exchangelabs.com

Files

PathChange+/−
src/backend/utils/adt/ruleutils.c modified +2 −2
src/bin/psql/command.c modified +22 −24
src/test/regress/expected/psql.out modified +62 −0
src/test/regress/sql/psql.sql modified +8 −0

Discussion