Re: function defined (or not), more worries on version 10->14 upgrade - Mailing list pgsql-general
From | Rob Sargent |
---|---|
Subject | Re: function defined (or not), more worries on version 10->14 upgrade |
Date | |
Msg-id | 4100be2d-7fa3-8aec-2a49-7702b7249581@gmail.com Whole thread Raw |
In response to | Re: function defined (or not), more worries on version 10->14 upgrade (Adrian Klaver <adrian.klaver@aklaver.com>) |
Responses |
Re: function defined (or not), more worries on version 10->14 upgrade
Re: function defined (or not), more worries on version 10->14 upgrade |
List | pgsql-general |
On 4/15/22 14:22, Adrian Klaver wrote:
On 4/15/22 10:14, Tom Lane wrote:Rob Sargent <robjsargent@gmail.com> writes:The function in question is working but I'm having trouble getting at
it's current definition and the possibility that there are more v10->v14
issues in this database. The last ERROR: below seems to me "a system
thing"(tm)
Hmm, it looks like \df does not cope well with spaces in the argument
list:
regression=# \df genome_threshold_mono(text,text,double)
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+------+------------------+---------------------+------
(0 rows)
regression=# \df genome_threshold_mono(text,text, double)
ERROR: invalid regular expression: parentheses () not balanced
It's sending the server a bogus pattern in the second case.
I've not looked at the code yet, but this does seem like a
psql (not server) bug.
Seems it also has another white space problem:
\df upc_check_digit()
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+-----------------+-------------------+-----------------------+------
public | upc_check_digit | character varying | upc character varying | func
\df upc_check_digit ()
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+------+------------------+---------------------+------
(0 rows)
\df upc_check_digit(varchar)
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+------+------------------+---------------------+------
(0 rows)
\df upc_check_digit (varchar)
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+-----------------+-------------------+-----------------------+------
public | upc_check_digit | character varying | upc character varying | func
(1 row)
Perhaps beating a dead horse, but
barnard=# \df genome_threshold_mono(text,text,double precision);space after function name
ERROR: invalid regular expression: parentheses () not balanced
barnard=# \df genome_threshold_mono(text,text,double precision);
ERROR: invalid regular expression: parentheses () not balanced
barnard=# \df genome_threshold_mono(text,text,float);
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+------+------------------+---------------------+------
(0 rows)
barnard=# \df genome_threshold_mono(text,text,'double precision');
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+------+------------------+---------------------+------
(0 rows)
barnard=# \df genome_threshold_mon*
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)
barnard=# \df genome_threshold_mono (text,text,double precision);I can get some definitions, eg
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)
\df: extra argument "(text,text,double" ignored
\df: extra argument "precision);" ignored
barnard=# \df genome_threshold_mono (text,text,float);
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)
\df: extra argument "(text,text,float);" ignored
barnard=# \sf shoc.pvr(shoc.segment, float)but have not found a combination of name/args for genome_threshold_mono(text,text,double precision)
CREATE OR REPLACE FUNCTION shoc.pvr(seg shoc.segment, plus double precision DEFAULT 0.0)
RETURNS double precision
LANGUAGE sql
AS $function$
select ((1.0*seg.events_equal)+seg.events_greater+plus)/((1.0*seg.events_less)+seg.events_equal+seg.events_greater+plus)::float as result;
$function$
I'm about to unleash new versions of the above and related functions (args will change), so a drops are imminent. Any reason to hold off on that?
regards, tom lane
pgsql-general by date: