JBAS-2285 authority browse sql rearrangments
authorBill Erickson <berickxx@gmail.com>
Thu, 23 May 2019 15:06:09 +0000 (15:06 +0000)
committerBill Erickson <berickxx@gmail.com>
Thu, 23 May 2019 15:06:25 +0000 (15:06 +0000)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
KCLS/sql/schema/deploy/2.12-3.2-db-upgrade-data.sql
KCLS/sql/schema/deploy/2.12-3.2-db-upgrade-schema.sql
KCLS/sql/schema/deploy/3.2-additions.sql

index 32f40f0..ceceb50 100644 (file)
@@ -73,51 +73,3 @@ UPDATE asset.copy SET alert_message = NULL
 WHERE alert_message IS NOT NULL;
 */
 
-
-/*
-SELECT CLOCK_TIMESTAMP(), 'Reingesting authority records';
-
--- add the flag ingest.disable_authority_full_rec if it does not exist
-INSERT INTO config.internal_flag (name, enabled)
-SELECT 'ingest.disable_authority_full_rec', FALSE
-WHERE NOT EXISTS (SELECT 1 FROM config.internal_flag 
-WHERE name = 'ingest.disable_authority_full_rec');
-
-CREATE TEMPORARY TABLE internal_flag_state AS
-    SELECT name, enabled
-    FROM config.internal_flag
-    WHERE name in (
-        'ingest.reingest.force_on_same_marc',
-        'ingest.disable_authority_auto_update',
-        'ingest.disable_authority_full_rec'
-    );
-
-UPDATE config.internal_flag
-SET enabled = TRUE
-WHERE name in (
-    'ingest.reingest.force_on_same_marc',
-    'ingest.disable_authority_auto_update',
-    'ingest.disable_authority_full_rec'
-);
-
-ALTER TABLE authority.record_entry DISABLE TRIGGER a_marcxml_is_well_formed;
-ALTER TABLE authority.record_entry DISABLE TRIGGER b_maintain_901;
-ALTER TABLE authority.record_entry DISABLE TRIGGER c_maintain_control_numbers;
-ALTER TABLE authority.record_entry DISABLE TRIGGER map_thesaurus_to_control_set;
-
-UPDATE authority.record_entry SET id = id WHERE NOT DELETED;
-
-ALTER TABLE authority.record_entry ENABLE TRIGGER a_marcxml_is_well_formed;
-ALTER TABLE authority.record_entry ENABLE TRIGGER b_maintain_901;
-ALTER TABLE authority.record_entry ENABLE TRIGGER c_maintain_control_numbers;
-ALTER TABLE authority.record_entry ENABLE TRIGGER map_thesaurus_to_control_set;
-
--- and restore
-UPDATE config.internal_flag a
-SET enabled = b.enabled
-FROM internal_flag_state b
-WHERE a.name = b.name;
-
-SELECT CLOCK_TIMESTAMP(), 'Done reingesting authority records';
-*/
-
index ce65b11..f375bed 100644 (file)
@@ -21772,6 +21772,34 @@ DROP TRIGGER reservation_transit_copy_is_unique_check ON action.reservation_tran
 DROP INDEX action.active_transit_for_copy;
 */
 
+
+CREATE OR REPLACE FUNCTION metabib.browse_pivot(
+    search_field INT[], browse_term TEXT
+) RETURNS BIGINT AS $p$
+-- handles 'search_field' conflict.  using this means I don't
+-- have to drop/recreate the function and those that rely on it 
+-- just to change the 'search_field' param name.
+#variable_conflict use_variable
+DECLARE
+    sort_value TEXT;
+BEGIN
+    SELECT INTO sort_value
+        CASE WHEN cmf.field_class = 'identifier' THEN 
+            public.naco_normalize_keep_decimal($2, '')
+        ELSE 
+            public.naco_normalize($2)
+        END
+    FROM config.metabib_field cmf
+    WHERE cmf.id = search_field[1];
+
+    RETURN mbe.id FROM metabib.browse_entry mbe
+    WHERE mbe.metabib_fields_cache && $1
+    AND mbe.truncated_sort_value >= sort_value
+    ORDER BY mbe.sort_value LIMIT 1;
+END;
+$p$ LANGUAGE PLPGSQL STABLE;
+
+
 ----------------------------------------------------------------------------
 -- VERSION INSERTS
 ----------------------------------------------------------------------------
index 6756ec0..c4f8e18 100644 (file)
@@ -3,33 +3,6 @@
 
 BEGIN;
 
-CREATE OR REPLACE FUNCTION metabib.browse_pivot(
-    search_field INT[], browse_term TEXT
-) RETURNS BIGINT AS $p$
--- handles 'search_field' conflict.  using this means I don't
--- have to drop/recreate the function and those that rely on it 
--- just to change the 'search_field' param name.
-#variable_conflict use_variable
-DECLARE
-    sort_value TEXT;
-BEGIN
-    SELECT INTO sort_value
-        CASE WHEN cmf.field_class = 'identifier' THEN 
-            public.naco_normalize_keep_decimal($2, '')
-        ELSE 
-            public.naco_normalize($2)
-        END
-    FROM config.metabib_field cmf
-    WHERE cmf.id = search_field[1];
-
-    RETURN mbe.id FROM metabib.browse_entry mbe
-    WHERE mbe.metabib_fields_cache && $1
-    AND mbe.truncated_sort_value >= sort_value
-    ORDER BY mbe.sort_value LIMIT 1;
-END;
-$p$ LANGUAGE PLPGSQL STABLE;
-
-
 DO $INSERT$
 BEGIN
     IF evergreen.insert_on_deploy() THEN
@@ -237,3 +210,51 @@ SELECT reporter.enable_materialized_simple_record_trigger();
 SELECT CLOCK_TIMESTAMP(), 'Done rebuilding reporter.materialized_simple_record...';
 */
 
+
+BEGIN;
+SELECT CLOCK_TIMESTAMP(), 'Reingesting authority records';
+
+-- add the flag ingest.disable_authority_full_rec if it does not exist
+INSERT INTO config.internal_flag (name, enabled)
+SELECT 'ingest.disable_authority_full_rec', FALSE
+WHERE NOT EXISTS (SELECT 1 FROM config.internal_flag 
+WHERE name = 'ingest.disable_authority_full_rec');
+
+CREATE TEMPORARY TABLE internal_flag_state AS
+    SELECT name, enabled
+    FROM config.internal_flag
+    WHERE name in (
+        'ingest.reingest.force_on_same_marc',
+        'ingest.disable_authority_auto_update',
+        'ingest.disable_authority_full_rec'
+    );
+
+UPDATE config.internal_flag
+SET enabled = TRUE
+WHERE name in (
+    'ingest.reingest.force_on_same_marc',
+    'ingest.disable_authority_auto_update',
+    'ingest.disable_authority_full_rec'
+);
+
+ALTER TABLE authority.record_entry DISABLE TRIGGER a_marcxml_is_well_formed;
+ALTER TABLE authority.record_entry DISABLE TRIGGER b_maintain_901;
+ALTER TABLE authority.record_entry DISABLE TRIGGER c_maintain_control_numbers;
+ALTER TABLE authority.record_entry DISABLE TRIGGER map_thesaurus_to_control_set;
+
+UPDATE authority.record_entry SET id = id WHERE NOT DELETED;
+
+ALTER TABLE authority.record_entry ENABLE TRIGGER a_marcxml_is_well_formed;
+ALTER TABLE authority.record_entry ENABLE TRIGGER b_maintain_901;
+ALTER TABLE authority.record_entry ENABLE TRIGGER c_maintain_control_numbers;
+ALTER TABLE authority.record_entry ENABLE TRIGGER map_thesaurus_to_control_set;
+
+-- and restore
+UPDATE config.internal_flag a
+SET enabled = b.enabled
+FROM internal_flag_state b
+WHERE a.name = b.name;
+
+SELECT CLOCK_TIMESTAMP(), 'Done reingesting authority records';
+COMMIT;
+