Re: How to \ef a function ? - Mailing list pgsql-general

From Tom Lane
Subject Re: How to \ef a function ?
Date
Msg-id 1944451.1704733962@sss.pgh.pa.us
Whole thread Raw
In response to Re: How to \ef a function ?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
I wrote:
> Yeah, that's what psql is expecting, but it does seem a bit
> unforgiving considering that you can write a noise semicolon
> in many other backslash commands.  And this:

> dvdb=# \ef opid.bef_ins_axi_reqs_set_trig();
> ERROR:  expected a right parenthesis

> seems outright buggy.  I've not looked at the code though.

Ah, I see it.  The difference in the error messages is because \ef
feeds the whole argument to regprocin to find out the function OID
if there are no parens, but regprocedurein if there are parens.
Neither of those functions like the trailing semicolon, but their
complaints are different.

More interestingly, \ef is actually trying to ignore trailing
semicolons: exec_command_ef_ev tells psql_scan_slash_option
to do so.  But it's using OT_WHOLE_LINE mode and that function
ignores the request in that mode.  So that seems like an
oversight.

            regards, tom lane



pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: How to \ef a function ?
Next
From:
Date:
Subject: Make NUM_XLOGINSERT_LOCKS configurable