don't remove the lineitem and attrs if it points to a selection list
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 15 Apr 2009 15:45:42 +0000 (15:45 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 15 Apr 2009 15:45:42 +0000 (15:45 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12878 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/support-scripts/test-scripts/purge_po.sql

index 6343b35..8169102 100644 (file)
@@ -16,8 +16,12 @@ BEGIN
         DELETE FROM acq.fund_debit WHERE id in (
             SELECT fund_debit FROM acq.lineitem_detail WHERE lineitem = li.id);
         DELETE FROM acq.lineitem_detail WHERE lineitem = li.id;
-        DELETE FROM acq.lineitem_attr WHERE lineitem = li.id;
-        DELETE from acq.lineitem WHERE id = li.id;
+        IF li.picklist IS NULL THEN
+            DELETE FROM acq.lineitem_attr WHERE lineitem = li.id;
+            DELETE from acq.lineitem WHERE id = li.id;
+        ELSE
+            UPDATE acq.lineitem SET purchase_order = NULL WHERE id = li.id;
+        END IF;
     END LOOP;
 
     DELETE FROM acq.purchase_order WHERE id = po_id;