Re: new type question - Mailing list pgsql-general

From Jim C. Nasby
Subject Re: new type question
Date
Msg-id 20051017175135.GA86144@pervasive.com
Whole thread Raw
In response to new type question  ("Sim Zacks" <sim@compulab.co.il>)
List pgsql-general
On Sun, Oct 16, 2005 at 11:03:52AM +0200, Sim Zacks wrote:
> create function uint_in(val cstring) returns uint2 as
> $$
> declare thisval int4;
> begin
>  thisval=val::int4
>  if thisval between 0 and 65535 then
>   return (thisval-32768)::int2;
>  else
>   return 0;
>  end if;
> end
> $$ language 'plpgsql';

On a side note, do you really want to punt to 0 when an invalid value
comes it? That sounds like something MySQL would do... ISTM you should
throw an error.

Also, you could have written that as a pure SQL function, which would
have been faster (assuming you could use something other than C for
this).
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

pgsql-general by date:

Previous
From: Simon Riggs
Date:
Subject: Re: [pgsql-advocacy] Oracle buys Innobase
Next
From: Chris Browne
Date:
Subject: Re: [pgsql-advocacy] Oracle buys Innobase