ff: SQL mediated holds; bib import sql repairs
authorBill Erickson <berick@esilibrary.com>
Thu, 6 Mar 2014 17:02:59 +0000 (12:02 -0500)
committerBill Erickson <berick@esilibrary.com>
Thu, 6 Mar 2014 17:03:01 +0000 (12:03 -0500)
* Ensure the holds insertion where the mediated org setting is
  unset result in a frozen=FALSE value and not a frozen=NULL value.

* Repair SQL thinko in bib fast import proc, checking "!bool" vs
  "NOT bool", since ! isn't valid SQL.

Signed-off-by: Bill Erickson <berick@esilibrary.com>

Open-ILS/src/sql/Pg/fulfillment-mods.sql

index f9791a6..20f8e26 100644 (file)
@@ -76,7 +76,7 @@ BEGIN
         INSERT INTO biblio.record_entry (marc, owner, remote_id, last_xact_id)
             VALUES (p_marc, p_owner, rid_value, EXTRACT(EPOCH FROM now()));
     ELSE
-        IF !is_del THEN
+        IF NOT is_del THEN
             -- RAISE NOTICE 'UPDATEing for %', existing_bib.id;
             UPDATE  biblio.record_entry
               SET   marc = p_marc,
@@ -100,8 +100,11 @@ $func$ LANGUAGE PLPGSQL;
 
 CREATE FUNCTION action.hold_request_mediated () RETURNS TRIGGER AS $f$
 BEGIN
-    SELECT COALESCE(value::BOOL,FALSE) INTO NEW.frozen 
-        FROM actor.org_unit_ancestor_setting('ff.request.force_mediation', NEW.request_lib);
+    SELECT COALESCE( (
+        SELECT actor.org_unit_ancestor_setting(
+            'ff.request.force_mediation', 
+            NEW.request_lib)).value::BOOL, FALSE)
+        INTO NEW.frozen;
     RETURN NEW;
 END;
 $f$ LANGUAGE PLPGSQL;