fixed some faulty sql user-merge logic
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 26 Nov 2008 13:49:31 +0000 (13:49 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 26 Nov 2008 13:49:31 +0000 (13:49 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@11353 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/sql/Pg/099.functions.global.sql

index 57218f2..723667a 100644 (file)
@@ -23,15 +23,14 @@ DECLARE
 BEGIN
     sel := 'SELECT id::BIGINT FROM ' || table_name || ' WHERE ' || quote_ident(col_name) || ' = ' || quote_literal(src_usr);
     upd := 'UPDATE ' || table_name || ' SET ' || quote_ident(col_name) || ' = ' || quote_literal(dest_usr) || ' WHERE id = ';
-    del := 'DELETE FROM ' || table_name || ' WHERE ' || quote_ident(col_name) || ' = ' || quote_literal(src_usr);
+    del := 'DELETE FROM ' || table_name || ' WHERE id = ';
     FOR cur_row IN EXECUTE sel LOOP
         BEGIN
-            upd := upd || cur_row.id;
-            -- RAISE NOTICE 'Attempting to merge % %', table_name, cur_row.id;
-            EXECUTE upd;
+            --RAISE NOTICE 'Attempting to merge % %', table_name, cur_row.id;
+            EXECUTE upd || cur_row.id;
         EXCEPTION WHEN unique_violation THEN
-            -- RAISE NOTICE 'Deleting conflicting % %', table_name, cur_row.id;
-            EXECUTE del;
+            --RAISE NOTICE 'Deleting conflicting % %', table_name, cur_row.id;
+            EXECUTE del || cur_row.id;
         END;
     END LOOP;
 END;