select define_function_args('apm__set_global_value','package_key,parameter_name,attr_value'); -- -- procedure apm__set_global_value/3 -- CREATE OR REPLACE FUNCTION apm__set_global_value( set_value__package_key varchar, set_value__parameter_name varchar, set_value__attr_value varchar ) RETURNS integer AS $$ DECLARE v_parameter_id apm_parameter_values.parameter_id%TYPE; v_value_id apm_parameter_values.value_id%TYPE; BEGIN v_parameter_id := apm__id_for_name (set_value__package_key, set_value__parameter_name); -- Determine if the value exists select value_id into v_value_id from apm_parameter_values where parameter_id = v_parameter_id and package_id is null; update apm_parameter_values set attr_value = set_value__attr_value where value_id = v_value_id; update acs_objects set last_modified = now() where object_id = v_value_id; -- exception if NOT FOUND then v_value_id := apm_parameter_value__new( null, null, v_parameter_id, set_value__attr_value ); end if; return 0; END; $$ LANGUAGE plpgsql; -- -- legacy procedure apm__set_value/3 -- Replaced now by apm__set_global_value --- CREATE OR REPLACE FUNCTION apm__set_value( set_value__package_key varchar, set_value__parameter_name varchar, set_value__attr_value varchar ) RETURNS integer AS $$ BEGIN return apm__set_global_value(set_value__package_key, set_value__parameter_name, set_value__attr_value); END; $$ LANGUAGE plpgsql;