Stamping upgrade for relaxing rank_ou sorting
authorBen Shum <bshum@biblio.org>
Mon, 11 Mar 2013 21:40:11 +0000 (17:40 -0400)
committerBen Shum <bshum@biblio.org>
Mon, 11 Mar 2013 21:40:11 +0000 (17:40 -0400)
Signed-off-by: Ben Shum <bshum@biblio.org>
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/upgrade/0768.schema.relax_rank_ou.sql [new file with mode: 0644]
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.relax_rank_ou.sql [deleted file]

index ea34dd5..9ad2ba5 100644 (file)
@@ -90,7 +90,7 @@ CREATE TRIGGER no_overlapping_deps
     BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
     BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0767', :eg_version); -- senator/miker
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0768', :eg_version); -- berick/bshum
 
 CREATE TABLE config.bib_source (
        id              SERIAL  PRIMARY KEY,
 
 CREATE TABLE config.bib_source (
        id              SERIAL  PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/0768.schema.relax_rank_ou.sql b/Open-ILS/src/sql/Pg/upgrade/0768.schema.relax_rank_ou.sql
new file mode 100644 (file)
index 0000000..afb2d8a
--- /dev/null
@@ -0,0 +1,31 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('0768', :eg_version);
+
+CREATE OR REPLACE FUNCTION evergreen.rank_ou(lib INT, search_lib INT, pref_lib INT DEFAULT NULL)
+RETURNS INTEGER AS $$
+    SELECT COALESCE(
+
+        -- lib matches search_lib
+        (SELECT CASE WHEN $1 = $2 THEN -20000 END),
+
+        -- lib matches pref_lib
+        (SELECT CASE WHEN $1 = $3 THEN -10000 END),
+
+
+        -- pref_lib is a child of search_lib and lib is a child of pref lib.  
+        (SELECT distance - 5000
+            FROM actor.org_unit_descendants_distance($3) 
+            WHERE id = $1 AND $3 IN (
+                SELECT id FROM actor.org_unit_descendants($2))),
+
+        -- lib is a child of search_lib
+        (SELECT distance FROM actor.org_unit_descendants_distance($2) WHERE id = $1),
+
+        -- all others pay cash
+        1000
+    );
+$$ LANGUAGE SQL STABLE;
+
+COMMIT;
+
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.relax_rank_ou.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.relax_rank_ou.sql
deleted file mode 100644 (file)
index 626d40b..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-BEGIN;
-
-CREATE OR REPLACE FUNCTION evergreen.rank_ou(lib INT, search_lib INT, pref_lib INT DEFAULT NULL)
-RETURNS INTEGER AS $$
-    SELECT COALESCE(
-
-        -- lib matches search_lib
-        (SELECT CASE WHEN $1 = $2 THEN -20000 END),
-
-        -- lib matches pref_lib
-        (SELECT CASE WHEN $1 = $3 THEN -10000 END),
-
-
-        -- pref_lib is a child of search_lib and lib is a child of pref lib.  
-        (SELECT distance - 5000
-            FROM actor.org_unit_descendants_distance($3) 
-            WHERE id = $1 AND $3 IN (
-                SELECT id FROM actor.org_unit_descendants($2))),
-
-        -- lib is a child of search_lib
-        (SELECT distance FROM actor.org_unit_descendants_distance($2) WHERE id = $1),
-
-        -- all others pay cash
-        1000
-    );
-$$ LANGUAGE SQL STABLE;
-
-COMMIT;
-