Avoid collisions while refreshing OPAC visibility
authorBen Ostrowsky <ben@esilibrary.com>
Thu, 5 Jan 2012 14:11:06 +0000 (14:11 +0000)
committerGalen Charlton <gmc@esilibrary.com>
Mon, 16 Jul 2012 15:33:15 +0000 (11:33 -0400)
sql/base/base.sql

index cb9dab4..0ebfb54 100644 (file)
@@ -1275,7 +1275,7 @@ BEGIN
        DELETE FROM asset.opac_visible_copies;
 
        INSERT INTO asset.opac_visible_copies (id, circ_lib, record)
-               SELECT
+               SELECT DISTINCT
                        cp.id, cp.circ_lib, cn.record
                FROM
                        asset.copy cp
@@ -1291,7 +1291,8 @@ BEGIN
                        cs.opac_visible AND
                        cl.opac_visible AND
                        cp.opac_visible AND
-                       a.opac_visible;
+                       a.opac_visible AND
+                       cp.id NOT IN (SELECT id FROM asset.opac_visible_copies);
 
 END;