Moving function creation to later in the schema def, where its deps exist.
authorMike Rylander <mrylander@gmail.com>
Wed, 24 Aug 2016 18:51:32 +0000 (14:51 -0400)
committerMike Rylander <mrylander@gmail.com>
Wed, 24 Aug 2016 18:51:32 +0000 (14:51 -0400)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/005.schema.actors.sql

index 1e1dac8..d696bf5 100644 (file)
@@ -1011,26 +1011,6 @@ CREATE TABLE config.usr_activity_type (
     CONSTRAINT  one_of_wwh CHECK (COALESCE(ewho,ewhat,ehow) IS NOT NULL)
 );
 
--- Remove all activity entries by activity type, 
--- except the most recent entry per user. 
-CREATE OR REPLACE FUNCTION 
-    actor.purge_usr_activity_by_type(act_type INTEGER) 
-    RETURNS VOID AS $$
-DECLARE
-    cur_usr INTEGER;
-BEGIN
-    FOR cur_usr IN SELECT DISTINCT(usr) 
-        FROM actor.usr_activity WHERE etype = act_type LOOP
-        DELETE FROM actor.usr_activity WHERE id IN (
-            SELECT id 
-            FROM actor.usr_activity 
-            WHERE usr = cur_usr AND etype = act_type
-            ORDER BY event_time DESC OFFSET 1
-        );
-
-    END LOOP;
-END $$ LANGUAGE PLPGSQL;
-
 CREATE UNIQUE INDEX unique_wwh ON config.usr_activity_type 
     (COALESCE(ewho,''), COALESCE (ewhat,''), COALESCE(ehow,''));
 
index d7e3e6c..d44ac53 100644 (file)
@@ -1031,4 +1031,24 @@ BEGIN
 END;
 $$ STRICT LANGUAGE PLPGSQL;
 
+-- Remove all activity entries by activity type, 
+-- except the most recent entry per user. 
+CREATE OR REPLACE FUNCTION
+    actor.purge_usr_activity_by_type(act_type INTEGER)
+    RETURNS VOID AS $$
+DECLARE
+    cur_usr INTEGER;
+BEGIN
+    FOR cur_usr IN SELECT DISTINCT(usr)
+        FROM actor.usr_activity WHERE etype = act_type LOOP
+        DELETE FROM actor.usr_activity WHERE id IN (
+            SELECT id
+            FROM actor.usr_activity
+            WHERE usr = cur_usr AND etype = act_type
+            ORDER BY event_time DESC OFFSET 1
+        );
+
+    END LOOP;
+END $$ LANGUAGE PLPGSQL;
+
 COMMIT;