13/10/03, messie from [ Łukasz Jarosław Mozer ] ...
$q='SELECT access FROM nodes WHERE ip=inet2int(?)'; Czy to jest standardowa funkcja postgresa?
nie, ale mozna zdefiniowac. ja mam tak: CREATE FUNCTION inet2int (inet) RETURNS bigint AS ' split(/\\./,$_[0]); return($_[0]*256**3+$_[1]*256**2+$_[2]*256**1+$_[3]*256**0); ' LANGUAGE plperl; mozna tez w plpgsql, pewnie bedzie dzialac szybciej, ale trzeba sie nagimnastykowac: CREATE FUNCTION inet2int (inet) RETURNS bigint AS ' begin return to_number(split_part(host($1),''.'',1),''999'')*256^3 +to_number(split_part(host($1),''.'',2),''999'')*256^2 +to_number(split_part(host($1),''.'',3),''999'')*256 +to_number(split_part(host($1),''.'',4),''999''); end; ' LANGUAGE plpgsql; -- :|[ kondi.net ]|:::::::::::::::::::::::::::::::::::|[ 2:480/133@fidonet.org ]|: Siłą możesz mi zabrać wiele, ale siłą nie możesz mi niczego dać. +knż