From: | "pgsql-general(at)list(dot)coretech(dot)ro" <pgsql-general(at)list(dot)coretech(dot)ro> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: inet value validation |
Date: | 2006-04-16 17:16:18 |
Message-ID: | 44427BE2.1060605@list.coretech.ro |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
yes, this is a good example, but I do not want to use an exception block
because of the warning present on documentation regarding exception blocks
"*Tip: * A block containing an EXCEPTION clause is significantly more
expensive to enter and exit than a block without one. Therefore, don't
use EXCEPTION without need."
I intend to use this function heavily.
Razvan Radu
Andreas Kretschmer wrote:
> pgsql-general(at)list(dot)coretech(dot)ro <pgsql-general(at)list(dot)coretech(dot)ro> schrieb:
>
>
>> hello,
>>
>> I want to write a function to validate an inet data type, but I figure that
>> postgres should already have such a function to use before inserting values
>> in inet type columns.
>> is it possible to access postgres's validation function for inet types ? I
>> have snooped through the catalogs but I can not find such a function.
>>
>
> You can try to cast a string into inet like this:
>
> test=# select '127.0.0.255'::inet;
> inet
> -------------
> 127.0.0.255
> (1 row)
>
> test=# select '127.0.0.256'::inet;
> ERROR: invalid input syntax for type inet: "127.0.0.256"
>
>
> Now you can write a little function to do this:
>
> ,----[ a little function ]
> | create or replace function check_ip(varchar) returns bool as $$
> | declare
> | i inet;
> | begin
> | i := $1::inet;
> | return 't'::bool;
> | EXCEPTION WHEN invalid_text_representation then
> | return 'f'::bool;
> | end;
> | $$ language plpgsql immutable strict;
> `----
>
> You can use this function now inside a transaction.
>
>
>
> HTH, Andreas
>
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Kretschmer | 2006-04-16 17:48:13 | Re: inet value validation |
Previous Message | Andreas Kretschmer | 2006-04-16 16:54:20 | Re: inet value validation |