--- --- The default value for "authority_id" was missing. --- select define_function_args('acs_user__new','user_id;null,object_type;user,creation_date;now(),creation_user;null,creation_ip;null,authority_id;null,username,email,url;null,first_names,last_name,password,salt,screen_name;null,email_verified_p;t,context_id;null'); --- --- Remove leftovers from earlier changes in the SQL API. The update --- scripts did not care about function args, so orphaned entries --- could cause confusions. --- delete from acs_function_args where function = 'USER__NEW'; delete from acs_function_args where function = 'SITE_NODE_GET_TREE_SORTKEY'; delete from acs_function_args where function = 'ACS_OBJECT__CHECK_REPRESENTATION'; delete from acs_function_args where function = 'PRIV_RECURSE_SUBTREE'; --- --- The drop package function did not care about deleting entries on --- the function args table. The function args deleted here are --- created automatically by the Tcl proc "package_generate_body". --- CREATE OR REPLACE FUNCTION drop_package( package_name varchar ) RETURNS varchar AS $$ DECLARE v_rec record; v_drop_cmd varchar; v_pkg_name varchar; BEGIN raise NOTICE 'DROP PACKAGE: %', package_name; v_pkg_name := package_name || '__' || '%'; for v_rec in select proname from pg_proc where proname like v_pkg_name order by proname LOOP raise NOTICE 'DROPPING FUNCTION: %', v_rec.proname; v_drop_cmd := get_func_drop_command (v_rec.proname::varchar); EXECUTE v_drop_cmd; DELETE FROM acs_function_args where function = upper(v_rec.proname); end loop; if NOT FOUND then raise NOTICE 'PACKAGE: % NOT FOUND', package_name; else raise NOTICE 'PACKAGE: %: DROPPED', package_name; end if; return null; END; $$ LANGUAGE plpgsql;