Re: function length(numeric) does not exist - Mailing list pgsql-bugs

From Michael Paquier
Subject Re: function length(numeric) does not exist
Date
Msg-id CAB7nPqRwWLQu=9ijB9S5KaggsL1Okd3bEAkxh74enmYr19S34w@mail.gmail.com
Whole thread Raw
In response to function length(numeric) does not exist  ("Ricardo Sardinha" <ricardo.sardinha@ti.polynorte.com.br>)
List pgsql-bugs
On Sat, Nov 22, 2014 at 9:26 PM, Ricardo Sardinha <
ricardo.sardinha@ti.polynorte.com.br> wrote:

>  "ERRO: 42883: fun=E7=E3o length(numeric) n=E3o existe" (*function
> length(numeric) **does not exist*).
>

length() is not able to accept numeric as input.
=3D# select length(123.45);
ERROR:  42883: function length(numeric) does not exist
LINE 1: select length(123.45);
You could cast it to text depending on what you want to do:
=3D# select length(123.45::text);
 length
--------
      6
(1 row)

  Then I try to create *length* function:
>
>
>
> CREATE OR REPLACE FUNCTION length(tsvector)
>
>   RETURNS int4 AS
>
> '$libdir/tsearch2', 'tsvector_length'
>
>   LANGUAGE 'c' IMMUTABLE STRICT;
>
> ALTER FUNCTION length(tsvector) OWNER TO postgres;
>
That's because this function is not defined in the extension tsearch2, but
is part of core, so you actually do not need to redefine it:
=3D# \dfS length
                           List of functions
   Schema   |  Name  | Result data type | Argument data types |  Type
------------+--------+------------------+---------------------+--------
 pg_catalog | length | integer          | bit                 | normal
 pg_catalog | length | integer          | bytea               | normal
 pg_catalog | length | integer          | bytea, name         | normal
 pg_catalog | length | integer          | character           | normal
 pg_catalog | length | double precision | lseg                | normal
 pg_catalog | length | double precision | path                | normal
 pg_catalog | length | integer          | text                | normal
 pg_catalog | length | integer          | tsvector            | normal
(8 rows)

Regards,
--=20
Michael

pgsql-bugs by date:

Previous
From: jkoceniak@mediamath.com
Date:
Subject: BUG #12050: Orphaned base files
Next
From: David G Johnston
Date:
Subject: Re: function length(numeric) does not exist