Re: function defined (or not), more worries on version 10->14 upgrade - Mailing list pgsql-general

From David G. Johnston
Subject Re: function defined (or not), more worries on version 10->14 upgrade
Date
Msg-id CAKFQuwYWxc3SzdYU+dc_be2XdB2rHeEnx3vWiqi14PoDkdJ+6w@mail.gmail.com
Whole thread Raw
In response to Re: function defined (or not), more worries on version 10->14 upgrade  (Rob Sargent <robjsargent@gmail.com>)
Responses Re: function defined (or not), more worries on version 10->14 upgrade  (Rob Sargent <robjsargent@gmail.com>)
List pgsql-general


On Fri, Apr 15, 2022 at 2:30 PM Rob Sargent <robjsargent@gmail.com> wrote:
On 4/15/22 15:18, David G. Johnston wrote:
On Fri, Apr 15, 2022 at 2:04 PM Rob Sargent <robjsargent@gmail.com> wrote:
but have not found a combination of name/args for genome_threshold_mono(text,text,double precision)


Per the fine documentation:

\df[anptwS+] [ pattern [ arg_pattern ... ] ]

So the correct formulation is:

\df genome_threshold_mono text text 'double precision'

You need to quote the fourth argument to protect the embedded space as a character and not an argument separator.

David J.

Wow.  An old bad habit of using parens, I guess?

Do you consider this correct behaviour?

barnard=# \df public.genome_threshold_mono text,text
                                                 List of functions
 Schema |         Name          | Result data type |                  Argument data types                   | Type
--------+-----------------------+------------------+--------------------------------------------------------+------
 public | genome_threshold_mono | uuid             | pbs_name text, genome_name text                        | func
 public | genome_threshold_mono | uuid             | pbs_name text, genome_name text, conf double precision | func
(2 rows)


I cannot reproduce that on head:

\df test_function text
                                List of functions
 Schema |     Name      | Result data type |     Argument data types      | Type
--------+---------------+------------------+------------------------------+------
 public | test_function | text             | text, double precision       | func
 public | test_function | text             | text, text, double precision | func
(2 rows)

\df test_function text,text
                       List of functions
 Schema | Name | Result data type | Argument data types | Type
--------+------+------------------+---------------------+------
(0 rows)

i.e, is it automatically wildcarded?

No, easy enough to prove, just mis-spell "text" and "text' in the first example

 

And then, I dare say, this is just plain inconsistent, vis parens
barnard=# \sf public.genome_threshold_mono text,text
ERROR:  invalid name syntax
So what?  \df and \sf have different goals in life; it should be expected they behave differently.  Specifically, \sf doesn't use patterns while \df does.

David J.
 

pgsql-general by date:

Previous
From: Rob Sargent
Date:
Subject: Re: function defined (or not), more worries on version 10->14 upgrade
Next
From: Rob Sargent
Date:
Subject: Re: function defined (or not), more worries on version 10->14 upgrade