Обсуждение: function length(numeric) does not exist

Поиск
Список
Период
Сортировка

function length(numeric) does not exist

От
"Ricardo Sardinha"
Дата:
Version: PostgreSQL 9.2.6, compiled by Visual C++ build 1600, 32-bit

=20

When I try to use the function length occurs the error:

=20

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

=20

Then I try to create length function:

=20

CREATE OR REPLACE FUNCTION length(tsvector)

  RETURNS int4 AS

'$libdir/tsearch2', 'tsvector_length'

  LANGUAGE 'c' IMMUTABLE STRICT;

ALTER FUNCTION length(tsvector) OWNER TO postgres;

=20

But the return is:

=20

-------------------------------------------------------------------------=
---
-------------------------------------------------------------------------=
---
--------

=20

ERRO:  n=E3o p=F4de encontrar fun=E7=E3o "tsvector_length" no arquivo =
"C:/Program
Files/PostgreSQL/9.2/lib/tsearch2.dll"

(could not find function "tsvector_length" in the file "C:/Program
Files/PostgreSQL/9.2/lib/tsearch2.dll")

=20

=20

********** Error **********

=20

ERRO: n=E3o p=F4de encontrar fun=E7=E3o "tsvector_length" no arquivo =
"C:/Program
Files/PostgreSQL/9.2/lib/tsearch2.dll"

(could not find function "tsvector_length" in the file "C:/Program
Files/PostgreSQL/9.2/lib/tsearch2.dll")

=20

SQL state: 42883

=20

-------------------------------------------------------------------------=
---
-------------------------------------------------------------------------=
---
--------

=20

I need the help!

=20

Thanks!

=20

Re: function length(numeric) does not exist

От
Michael Paquier
Дата:
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

Re: function length(numeric) does not exist

От
David G Johnston
Дата:
Ricardo Sardinha wrote
> Version: PostgreSQL 9.2.6, compiled by Visual C++ build 1600, 32-bit
> "ERRO: 42883: fun=C3=A7=C3=A3o length(numeric) n=C3=A3o existe" (function=
 length(numeric)
> does not exist).
>=20
> Then I try to create length function:
>=20
> CREATE OR REPLACE FUNCTION length(tsvector)

I'm confused...you try and pass a numeric into a length function and when
that doesn't work you go and create a length function that takes a tsvector=
?

Until you communicate what it is you are trying to accomplish and, ideally,
provide some code to help explain the same, it is going to be difficult to
provide you with help.

David J.




--
View this message in context: http://postgresql.nabble.com/function-length-=
numeric-does-not-exist-tp5828067p5828105.html
Sent from the PostgreSQL - bugs mailing list archive at Nabble.com.