cur_usr INTEGER;
cur_circ action.circulation%ROWTYPE;
last_circ action.circulation%ROWTYPE;
+ counter INTEGER DEFAULT 1;
BEGIN
+ RAISE NOTICE
+ 'Migrating circ history for % users. This might take a while...',
+ (SELECT COUNT(DISTINCT(au.id)) FROM actor.usr au
+ JOIN actor.usr_setting aus ON (aus.usr = au.id)
+ WHERE NOT au.deleted AND
+ aus.name ~ '^history.circ.retention_');
+
FOR cur_usr IN
SELECT DISTINCT(au.id)
FROM actor.usr au
cur_circ.id
);
+ -- useful for alleviating administrator anxiety.
+ IF counter % 10000 = 0 THEN
+ RAISE NOTICE 'Migrated history for % total users', counter;
+ END IF;
+
+ counter := counter + 1;
+
END LOOP;
END LOOP;