Thread: RE: [SQL] Probs with int2 in functions

RE: [SQL] Probs with int2 in functions

From
"Jackson, DeJuan"
Date:
Well, it's not really a bug.  It's the lack of a feature.  Constant
integers are simply int4's not int2's and in pre-v6.4 the was no
auto-type coercion.  The key here is 'auto'.  If there was no type
coercion I'd have to agree that it was a bug.  But simply because the
developers didn't assume that they know what I want better than I do,
doesn't make it a bug.
So, you have to specify type conversions yourself.  If you want your
function to work as is upgrade.
    -DEJ

> -----Original Message-----
> On Tue, 29 Dec 1998, Jose' Soares wrote:
>
> > > 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)
>
> So it appear that it is a bug in 6.3.2!
>
> > Any way try to cast values as:
> > select insert_test2(1::int2,'My name'::varchar,'My
> comment'::varchar);
>
> I'd prefer not to do that. Also, since it isn't necessary for the int4
> case then it shouldn't be for the int2 case and this suggests
> to me that
> it is a bug.
>
> Thanks for your suggestions and help.
>
> Cheers...Gordon