address the ID of the old address. The replaced address is retained with -id.
$$;
+CREATE OR REPLACE FUNCTION actor.change_password (user_id INT, new_pw TEXT, pw_type TEXT DEFAULT 'main')
+RETURNS VOID AS $$
+DECLARE
+ new_salt TEXT;
+BEGIN
+ SELECT actor.create_salt(pw_type) INTO new_salt;
+
+ IF pw_type = 'main' THEN
+ -- Only 'main' passwords are required to have
+ -- the extra layer of MD5 hashing.
+ PERFORM actor.set_passwd(
+ user_id, pw_type, md5(new_salt || md5(new_pw)), new_salt
+ );
+
+ ELSE
+ PERFORM actor.set_passwd(user_id, pw_type, new_pw, new_salt);
+ END IF;
+END;
+$$ LANGUAGE 'plpgsql';
+
+COMMENT ON FUNCTION actor.change_password(INT,TEXT,TEXT) IS $$
+Allows setting a salted password for a user by passing actor.usr id and the text of the password.
+$$;
+
CREATE OR REPLACE FUNCTION container.clear_expired_circ_history_items(
ac_usr IN INTEGER
) RETURNS VOID AS $$
--- /dev/null
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('xxxx', :eg_version);
+
+CREATE OR REPLACE FUNCTION actor.change_password (user_id INT, new_pw TEXT, pw_type TEXT DEFAULT 'main')
+RETURNS VOID AS $$
+DECLARE
+ new_salt TEXT;
+BEGIN
+ SELECT actor.create_salt(pw_type) INTO new_salt;
+
+ IF pw_type = 'main' THEN
+ -- Only 'main' passwords are required to have
+ -- the extra layer of MD5 hashing.
+ PERFORM actor.set_passwd(
+ user_id, pw_type, md5(new_salt || md5(new_pw)), new_salt
+ );
+
+ ELSE
+ PERFORM actor.set_passwd(user_id, pw_type, new_pw, new_salt);
+ END IF;
+END;
+$$ LANGUAGE 'plpgsql';
+
+COMMIT;