Hi Filip, The example occurs when I pass the parameter via PEARDB . I made the mistake of setting the int4 type for a variable that could assume int8 values. So, when I passed, for example, a five digit integer, it made the coercion and returned no error, and the function had ran with the wrong value. But, when I've changed this (setting the variable type to int8), it worked as I expected. Thank you! Max Ueda --- Filip RembiaÅ?kowski <filip.rembialkowski@xxxxxxxxx> wrote: > 2007/1/16, Max Ueda <mhanzo@xxxxxxxxx>: > > Hi, > > > > I've been wondering with some wrong results that > are > > being returned from some functions in my > application. > > Basically, they are algebraic functions dealing > with > > int values. > > > > Some results made me think of coercion between int > > types. For example, atributing a int8 value into a > > int2 variable. Does it really happen (coercion)? > Is > > the int8 value automatically converted into int2, > or > > an error should be returned in that case? > > AFAIK, the coercion does occur when needed but it > gives a clear error > message when appropriate. I mean simple situations > like > > CREATE TABLE test ( i4 INT4, i8 INT8 ); > insert into test ( i8 ) select 99999999999999999; > update test set i4 = i8; > ERROR: integer out of range > > Could you perhaps give an example of your problem? > ____________________________________________________________________________________ Want to start your own business? Learn how on Yahoo! Small Business. http://smallbusiness.yahoo.com/r-index