Re: proposal: less strict input of regprocedure type - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: proposal: less strict input of regprocedure type
Date
Msg-id CAFj8pRCC8sWBdyMm5G_ZsRW_8d9i4bgXDryMFjsdW0a-ocxdQw@mail.gmail.com
Whole thread Raw
In response to Re: proposal: less strict input of regprocedure type  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-hackers


ne 2. 12. 2018 v 4:52 odesílatel Pavel Stehule <pavel.stehule@gmail.com> napsal:


so 1. 12. 2018 v 20:49 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:
Pavel Stehule <pavel.stehule@gmail.com> writes:
> input value of regrocedure type should be complete function signature.
> postgres=# select 'uni'::regprocedure;
> ERROR:  expected a left parenthesis
> LINE 1: select 'uni'::regprocedure;
>                ^

Yup.

> I think so it is not necessary, when function name is unique.

This doesn't seem like a great idea to me.  It will just encourage
people to write brittle code that falls over as soon as the name
isn't unique.  Also, if you're willing to assume that it is,
why not just use regproc?

regproc doesn't allow to specify complete signature when it is necessary.

postgres=# select 'uni(int)'::regproc;
ERROR:  function "uni(int)" does not exist
LINE 1: select 'uni(int)'::regproc;
               ^

The motivation is same like last change of DROP FUNCTION. When the name is unique, then you should not to write a signature.

We can introduce new type -- "routine_identity", that can be used for \sf, \ef, ... and for my plpgsql_check too.



Regards

Pavel

                        regards, tom lane

pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: proposal: less strict input of regprocedure type
Next
From: Pavel Stehule
Date:
Subject: Re: Markdown format output for psql, design notes