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:
[EMAIL PROTECTED] <[EMAIL PROTECTED]> 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



---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to