[open-ils-commits] r11829 - trunk/Open-ILS/src/sql/Pg

svn at svn.open-ils.org svn at svn.open-ils.org
Wed Jan 14 16:49:51 EST 2009


Author: erickson
Date: 2009-01-14 16:49:46 -0500 (Wed, 14 Jan 2009)
New Revision: 11829

Modified:
   trunk/Open-ILS/src/sql/Pg/999.functions.global.sql
Log:
stored proc to replace an address with its pending address

Modified: trunk/Open-ILS/src/sql/Pg/999.functions.global.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/999.functions.global.sql	2009-01-14 20:33:11 UTC (rev 11828)
+++ trunk/Open-ILS/src/sql/Pg/999.functions.global.sql	2009-01-14 21:49:46 UTC (rev 11829)
@@ -165,3 +165,29 @@
  */
 $$;
 
+
+
+CREATE OR REPLACE FUNCTION actor.approve_pending_address(pending_id INT) RETURNS VOID AS $$
+DECLARE
+    old_id INT;
+BEGIN
+    SELECT INTO old_id replaces FROM actor.usr_address where id = pending_id;
+    IF old_id IS NULL THEN
+        RAISE NOTICE 'Address % does not replace any address', pending_id;
+        RETURN;
+    END IF;
+    DELETE FROM actor.usr_address WHERE id = -old_id;
+    UPDATE actor.usr_address SET id = -id WHERE id = old_id;
+    UPDATE actor.usr_address SET replaces = NULL, id = old_id WHERE id = pending_id;
+END
+$$ LANGUAGE plpgsql;
+
+COMMENT ON FUNCTION actor.approve_pending_address(INT) IS $$
+/**
+ * Replaces an address with a pending address.  This is done by giving the pending 
+ * address the ID of the old address.  The replaced address is retained with -id.
+ */
+$$;
+
+
+



More information about the open-ils-commits mailing list