Re: [SQL] Probs with int2 in functions - Mailing list pgsql-sql

From Jose' Soares
Subject Re: [SQL] Probs with int2 in functions
Date
Msg-id 3688E133.CB661A68@sferacarta.com
Whole thread Raw
In response to Probs with int2 in functions  (Gordon Clarke <gordonc@cyberbiz.net.au>)
Responses Re: [SQL] Probs with int2 in functions
List pgsql-sql
Gordon Clarke wrote:
>
> I'm using PostgreSQL v6.3.2.
>
> It appears that the function command doesn't like the type "int2" as a
> parm in a call. For example,
>
> zedadmin=> \i zz.sql
> create table test2(
>   trk_id        int2            not null,
>   trk_nm        varchar(30)     not null,
>   trk_comp      varchar(30));
> CREATE
>
> create function insert_test2(int2,varchar,varchar)
> returns int4 as
>  'insert into test2
>   values($1,$2,$3);
> select 1 as return_val;'
> language 'sql';
> CREATE
> EOF
>
> The objects are successfully created, but when I come to insert data via
> the function there is the following error.
>
> zedadmin=> select insert_test2(1,'My name','My comment');
> ERROR:  function insert_test2(int4, unknown, unknown) does not exist
>
> If one changes the int2 to an int4 in the table and function, the function
> is happy to insert the data into the table.
>
> Any ideas why this is so, or is it a bug?
>

It works on my v6.4:

select insert_test2(1,'My name','My comment');
insert_test2
------------
           1
(1 row)

select * from test2;
trk_id|trk_nm |trk_comp
------+-------+----------
     1|My name|My comment
     1|My name|My comment
(2 rows)

Any way try to cast values as:
select insert_test2(1::int2,'My name'::varchar,'My comment'::varchar);

-Jose'-

pgsql-sql by date:

Previous
From: Trever Adams
Date:
Subject: Binary anding
Next
From: Gregory Holston
Date:
Subject: booleans