CREATE OR REPLACE FUNCTION SnmpNodeVersion(node_id_in int4) RETURNS RECORD AS $$ DECLARE snmp_rcd_v2 node_snmp_v1v2_properties_v%rowtype; snmp_rcd_v3 node_snmp_v3_properties_v%rowtype; BEGIN select * into snmp_rcd_v3 from node_snmp_v3_properties_v where node_id = node_id_in; if not found then select * into snmp_rcd_v2 from node_snmp_v1v2_properties where node_id = node_id_in; if not found then snmp_rcd_v3.node_id := node_id_in; snmp_rcd_v3.version := 0; snmp_rcd_v3.snmp_timeout := 0; snmp_rcd_v3.snmp_retries := 0; snmp_rcd_v3.snmp_community_ro := NULL; snmp_rcd_v3.snmp_community_rw := NULL; snmp_rcd_v3.snmp_user_name := NULL; snmp_rcd_v3.snmp_authentication_type := 0; snmp_rcd_v3.snmp_auth_password := NULL; snmp_rcd_v3.snmp_privacy_type := 0; snmp_rcd_v3.snmp_privacy_password := NULL; return snmp_rcd_v3; else return snmp_rcd_v2; end if; else return snmp_rcd_v3; end if; END; $$ LANGUAGE 'plpgsql';