The following code works under 6.5 and doesn't work in 7.0 beta 3. Comments?
------------------snip---------------------------------------
create table paths ( pathnum serial, pathname text );
CREATE FUNCTION plpgsql_call_handler () RETURNS OPAQUE AS '/opt/brupro/pgsql/lib/plpgsql.so' LANGUAGE 'C';
CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler LANCOMPILER 'PL/pgSQL';
/*********************************************************** This function makes handling paths MUCH faster on
inserts:**********************************************************/
CREATE FUNCTION get_path (text) RETURNS integer AS ' DECLARE retval integer; BEGIN select pathnum into
retvalfrom paths where pathname = $1 ; if not found then insert into paths ( pathname )values ( $1 ) ;
select pathnum into retval from paths where pathname = $1 ; end if ; return retval ; END;
' LANGUAGE 'plpgsql';
select get_path('/etc');
--------------end snip-------------------------------
--
Eric Lee Green eric@estinc.com
Software Engineer Visit our Web page:
Enhanced Software Technologies, Inc. http://www.estinc.com/
(602) 470-1115 voice (602) 470-1116 fax