[open-ils-commits] [GIT] Evergreen ILS branch master updated. 8606f976ae96a203f96efca0587a87c5e10f8934

Evergreen Git git at git.evergreen-ils.org
Thu Feb 28 15:01:12 EST 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, master has been updated
       via  8606f976ae96a203f96efca0587a87c5e10f8934 (commit)
       via  bdcb51cde730810e706bdcf4b646f3db90fe4720 (commit)
       via  19baefe1cd9f9ea76b9df29ab310ee28f08532bb (commit)
       via  577909c863c4a9dc4cbacaba886cd08e0c9da624 (commit)
      from  a189fca3210ec334979aea601758594118bea887 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8606f976ae96a203f96efca0587a87c5e10f8934
Author: Mike Rylander <mrylander at gmail.com>
Date:   Thu Feb 28 15:00:14 2013 -0500

    Stamping upgrade scripts for ingest partitioning
    
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 57d4aaf..377e4b9 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -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');
 
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0760', :eg_version); -- senator/miker
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0762', :eg_version); -- miker/gmcharlt
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql b/Open-ILS/src/sql/Pg/upgrade/0762.schema.partitioned-ingest.sql
similarity index 98%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql
rename to Open-ILS/src/sql/Pg/upgrade/0762.schema.partitioned-ingest.sql
index b6d3b8c..52ae0e5 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0762.schema.partitioned-ingest.sql
@@ -1,6 +1,6 @@
 BEGIN;
 
-SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+SELECT evergreen.upgrade_deps_block_check('0762', :eg_version);
 
 INSERT INTO config.internal_flag (name) VALUES ('ingest.skip_browse_indexing');
 INSERT INTO config.internal_flag (name) VALUES ('ingest.skip_search_indexing');

commit bdcb51cde730810e706bdcf4b646f3db90fe4720
Author: Galen Charlton <gmc at esilibrary.com>
Date:   Thu Feb 28 14:05:25 2013 -0500

    LP#1066326: protect against flags being entirely missing from config.internal_flag
    
    Belt, meet suspenders.
    
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/sql/Pg/030.schema.metabib.sql b/Open-ILS/src/sql/Pg/030.schema.metabib.sql
index 317881b..6d96938 100644
--- a/Open-ILS/src/sql/Pg/030.schema.metabib.sql
+++ b/Open-ILS/src/sql/Pg/030.schema.metabib.sql
@@ -585,9 +585,9 @@ DECLARE
     b_skip_search   BOOL;
 BEGIN
 
-    SELECT COALESCE(NULLIF(skip_facet, FALSE), enabled) INTO b_skip_facet FROM config.internal_flag WHERE name = 'ingest.skip_facet_indexing';
-    SELECT COALESCE(NULLIF(skip_browse, FALSE), enabled) INTO b_skip_browse FROM config.internal_flag WHERE name = 'ingest.skip_browse_indexing';
-    SELECT COALESCE(NULLIF(skip_search, FALSE), enabled) INTO b_skip_search FROM config.internal_flag WHERE name = 'ingest.skip_search_indexing';
+    SELECT COALESCE(NULLIF(skip_facet, FALSE), EXISTS (SELECT enabled FROM config.internal_flag WHERE name =  'ingest.skip_facet_indexing' AND enabled)) INTO b_skip_facet;
+    SELECT COALESCE(NULLIF(skip_browse, FALSE), EXISTS (SELECT enabled FROM config.internal_flag WHERE name =  'ingest.skip_browse_indexing' AND enabled)) INTO b_skip_browse;
+    SELECT COALESCE(NULLIF(skip_search, FALSE), EXISTS (SELECT enabled FROM config.internal_flag WHERE name =  'ingest.skip_search_indexing' AND enabled)) INTO b_skip_search;
 
     PERFORM * FROM config.internal_flag WHERE name = 'ingest.assume_inserts_only' AND enabled;
     IF NOT FOUND THEN
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql
index 22c9263..b6d3b8c 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql
@@ -17,9 +17,9 @@ DECLARE
     b_skip_search   BOOL;
 BEGIN
 
-    SELECT COALESCE(NULLIF(skip_facet, FALSE), enabled) INTO b_skip_facet FROM config.internal_flag WHERE name = 'ingest.skip_facet_indexing';
-    SELECT COALESCE(NULLIF(skip_browse, FALSE), enabled) INTO b_skip_browse FROM config.internal_flag WHERE name = 'ingest.skip_browse_indexing';
-    SELECT COALESCE(NULLIF(skip_search, FALSE), enabled) INTO b_skip_search FROM config.internal_flag WHERE name = 'ingest.skip_search_indexing';
+    SELECT COALESCE(NULLIF(skip_facet, FALSE), EXISTS (SELECT enabled FROM config.internal_flag WHERE name =  'ingest.skip_facet_indexing' AND enabled)) INTO b_skip_facet;
+    SELECT COALESCE(NULLIF(skip_browse, FALSE), EXISTS (SELECT enabled FROM config.internal_flag WHERE name =  'ingest.skip_browse_indexing' AND enabled)) INTO b_skip_browse;
+    SELECT COALESCE(NULLIF(skip_search, FALSE), EXISTS (SELECT enabled FROM config.internal_flag WHERE name =  'ingest.skip_search_indexing' AND enabled)) INTO b_skip_search;
 
     PERFORM * FROM config.internal_flag WHERE name = 'ingest.assume_inserts_only' AND enabled;
     IF NOT FOUND THEN

commit 19baefe1cd9f9ea76b9df29ab310ee28f08532bb
Author: Galen Charlton <gmc at esilibrary.com>
Date:   Thu Feb 28 13:30:36 2013 -0500

    LP#1066326: use internal flags; sync with master
    
    After discussion with Mike Rylander, moved the new flags
    to internal flags, as exposing them to the staff client's
    global flag admin page could lead to records getting incompletely
    ingested without there being an easy way to rectify the problem
    from the staff client.
    
    Also, sync up with other recent work on ingest.
    
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index a686ea5..57d4aaf 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -46,6 +46,9 @@ INSERT INTO config.internal_flag (name) VALUES ('ingest.disable_metabib_full_rec
 INSERT INTO config.internal_flag (name) VALUES ('ingest.disable_metabib_rec_descriptor');
 INSERT INTO config.internal_flag (name) VALUES ('ingest.disable_metabib_field_entry');
 INSERT INTO config.internal_flag (name) VALUES ('ingest.assume_inserts_only');
+INSERT INTO config.internal_flag (name) VALUES ('ingest.skip_browse_indexing');
+INSERT INTO config.internal_flag (name) VALUES ('ingest.skip_search_indexing');
+INSERT INTO config.internal_flag (name) VALUES ('ingest.skip_facet_indexing');
 INSERT INTO config.internal_flag (name) VALUES ('serial.rematerialize_on_same_holding_code');
 
 CREATE TABLE config.global_flag (
diff --git a/Open-ILS/src/sql/Pg/030.schema.metabib.sql b/Open-ILS/src/sql/Pg/030.schema.metabib.sql
index fd041d1..317881b 100644
--- a/Open-ILS/src/sql/Pg/030.schema.metabib.sql
+++ b/Open-ILS/src/sql/Pg/030.schema.metabib.sql
@@ -647,7 +647,7 @@ BEGIN
 
     END LOOP;
 
-    IF NOT skip_search THEN
+    IF NOT b_skip_search THEN
         PERFORM metabib.update_combined_index_vectors(bib_id);
     END IF;
 
diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql
index 4792e0c..51d608f 100644
--- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql
+++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql
@@ -8929,39 +8929,6 @@ INSERT INTO config.global_flag (name, label, enabled)
 
 INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
     VALUES (
-        'ingest.skip_browse_indexing',
-        oils_i18n_gettext(
-            'ingest.skip_browse_indexing',
-            'Bibliographic Record Ingest: Disable extraction and indexing of browse data',
-            'cgf', 
-            'label'
-        )
-    );
-
-INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
-    VALUES (
-        'ingest.skip_search_indexing',
-        oils_i18n_gettext(
-            'ingest.skip_search_indexing',
-            'Bibliographic Record Ingest: Disable extraction and indexing of search data',
-            'cgf', 
-            'label'
-        )
-    );
-
-INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
-    VALUES (
-        'ingest.skip_facet_indexing',
-        oils_i18n_gettext(
-            'ingest.skip_facet_indexing',
-            'Bibliographic Record Ingest: Disable extraction and indexing of facet data',
-            'cgf', 
-            'label'
-        )
-    );
-
-INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
-    VALUES (
         'ingest.disable_authority_linking',
         oils_i18n_gettext(
             'ingest.disable_authority_linking',
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql
index d1da113..22c9263 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql
@@ -2,38 +2,9 @@ BEGIN;
 
 SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
 
-INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
-    VALUES (
-        'ingest.skip_browse_indexing',
-        oils_i18n_gettext(
-            'ingest.skip_browse_indexing',
-            'Bibliographic Record Ingest: Disable extraction and indexing of browse data',
-            'cgf', 
-            'label'
-        )
-    );
-
-INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
-    VALUES (
-        'ingest.skip_search_indexing',
-        oils_i18n_gettext(
-            'ingest.skip_search_indexing',
-            'Bibliographic Record Ingest: Disable extraction and indexing of search data',
-            'cgf', 
-            'label'
-        )
-    );
-
-INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
-    VALUES (
-        'ingest.skip_facet_indexing',
-        oils_i18n_gettext(
-            'ingest.skip_facet_indexing',
-            'Bibliographic Record Ingest: Disable extraction and indexing of facet data',
-            'cgf', 
-            'label'
-        )
-    );
+INSERT INTO config.internal_flag (name) VALUES ('ingest.skip_browse_indexing');
+INSERT INTO config.internal_flag (name) VALUES ('ingest.skip_search_indexing');
+INSERT INTO config.internal_flag (name) VALUES ('ingest.skip_facet_indexing');
 
 CREATE OR REPLACE FUNCTION metabib.reingest_metabib_field_entries( bib_id BIGINT, skip_facet BOOL DEFAULT FALSE, skip_browse BOOL DEFAULT FALSE, skip_search BOOL DEFAULT FALSE ) RETURNS VOID AS $func$
 DECLARE
@@ -108,6 +79,10 @@ BEGIN
 
     END LOOP;
 
+    IF NOT b_skip_search THEN
+        PERFORM metabib.update_combined_index_vectors(bib_id);
+    END IF;
+
     RETURN;
 END;
 $func$ LANGUAGE PLPGSQL;

commit 577909c863c4a9dc4cbacaba886cd08e0c9da624
Author: Mike Rylander <mrylander at gmail.com>
Date:   Sat Oct 13 11:38:55 2012 -0400

    LP#1066326: Allow component partitioning of ingest
    
    The component parts of the indexing process are fairly flexible. In some
    places they can be called with parameters that control the behavior, and
    other places will respond to global and/or internal flags.  However, there
    is some inconsistency to which parts will react to each mechanism.
    
    Previous to this commit, there was no way to cause ingest to skip specific
    parts of the indexing process (search / facet / browse, in particular)
    even though the stored procedure responsible for this had the ability to
    perform, and parameters for the control of, this behavior.  Now, when any
    of the parameters are false (the default, saying "do not skip") it will
    check the value of a related global flag and, if enabled, skip that part
    of the ingest.
    
    This will allow one to do perform massive, batch, parallel ingests of bib
    records, something that was effectively blocked by the way browse ingest
    is performed.  By disabling browse ingest during the main record loading,
    and then performing only the browse ingest later, one can significantly
    reduce the time required to load massive batches of records.
    
    Signed-off-by: Mike Rylander <mrylander at gmail.com>
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/sql/Pg/030.schema.metabib.sql b/Open-ILS/src/sql/Pg/030.schema.metabib.sql
index da9d4dd..fd041d1 100644
--- a/Open-ILS/src/sql/Pg/030.schema.metabib.sql
+++ b/Open-ILS/src/sql/Pg/030.schema.metabib.sql
@@ -580,19 +580,27 @@ DECLARE
     ind_data        metabib.field_entry_template%ROWTYPE;
     mbe_row         metabib.browse_entry%ROWTYPE;
     mbe_id          BIGINT;
+    b_skip_facet    BOOL;
+    b_skip_browse   BOOL;
+    b_skip_search   BOOL;
 BEGIN
+
+    SELECT COALESCE(NULLIF(skip_facet, FALSE), enabled) INTO b_skip_facet FROM config.internal_flag WHERE name = 'ingest.skip_facet_indexing';
+    SELECT COALESCE(NULLIF(skip_browse, FALSE), enabled) INTO b_skip_browse FROM config.internal_flag WHERE name = 'ingest.skip_browse_indexing';
+    SELECT COALESCE(NULLIF(skip_search, FALSE), enabled) INTO b_skip_search FROM config.internal_flag WHERE name = 'ingest.skip_search_indexing';
+
     PERFORM * FROM config.internal_flag WHERE name = 'ingest.assume_inserts_only' AND enabled;
     IF NOT FOUND THEN
-        IF NOT skip_search THEN
+        IF NOT b_skip_search THEN
             FOR fclass IN SELECT * FROM config.metabib_class LOOP
                 -- RAISE NOTICE 'Emptying out %', fclass.name;
                 EXECUTE $$DELETE FROM metabib.$$ || fclass.name || $$_field_entry WHERE source = $$ || bib_id;
             END LOOP;
         END IF;
-        IF NOT skip_facet THEN
+        IF NOT b_skip_facet THEN
             DELETE FROM metabib.facet_entry WHERE source = bib_id;
         END IF;
-        IF NOT skip_browse THEN
+        IF NOT b_skip_browse THEN
             DELETE FROM metabib.browse_entry_def_map WHERE source = bib_id;
         END IF;
     END IF;
@@ -602,12 +610,12 @@ BEGIN
             ind_data.field = -1 * ind_data.field;
         END IF;
 
-        IF ind_data.facet_field AND NOT skip_facet THEN
+        IF ind_data.facet_field AND NOT b_skip_facet THEN
             INSERT INTO metabib.facet_entry (field, source, value)
                 VALUES (ind_data.field, ind_data.source, ind_data.value);
         END IF;
 
-        IF ind_data.browse_field AND NOT skip_browse THEN
+        IF ind_data.browse_field AND NOT b_skip_browse THEN
             -- A caveat about this SELECT: this should take care of replacing
             -- old mbe rows when data changes, but not if normalization (by
             -- which I mean specifically the output of
@@ -627,7 +635,7 @@ BEGIN
                 VALUES (mbe_id, ind_data.field, ind_data.source);
         END IF;
 
-        IF ind_data.search_field AND NOT skip_search THEN
+        IF ind_data.search_field AND NOT b_skip_search THEN
             EXECUTE $$
                 INSERT INTO metabib.$$ || ind_data.field_class || $$_field_entry (field, source, value)
                     VALUES ($$ ||
diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql
index 51d608f..4792e0c 100644
--- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql
+++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql
@@ -8929,6 +8929,39 @@ INSERT INTO config.global_flag (name, label, enabled)
 
 INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
     VALUES (
+        'ingest.skip_browse_indexing',
+        oils_i18n_gettext(
+            'ingest.skip_browse_indexing',
+            'Bibliographic Record Ingest: Disable extraction and indexing of browse data',
+            'cgf', 
+            'label'
+        )
+    );
+
+INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
+    VALUES (
+        'ingest.skip_search_indexing',
+        oils_i18n_gettext(
+            'ingest.skip_search_indexing',
+            'Bibliographic Record Ingest: Disable extraction and indexing of search data',
+            'cgf', 
+            'label'
+        )
+    );
+
+INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
+    VALUES (
+        'ingest.skip_facet_indexing',
+        oils_i18n_gettext(
+            'ingest.skip_facet_indexing',
+            'Bibliographic Record Ingest: Disable extraction and indexing of facet data',
+            'cgf', 
+            'label'
+        )
+    );
+
+INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
+    VALUES (
         'ingest.disable_authority_linking',
         oils_i18n_gettext(
             'ingest.disable_authority_linking',
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql
new file mode 100644
index 0000000..d1da113
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.partitioned-ingest.sql
@@ -0,0 +1,115 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
+    VALUES (
+        'ingest.skip_browse_indexing',
+        oils_i18n_gettext(
+            'ingest.skip_browse_indexing',
+            'Bibliographic Record Ingest: Disable extraction and indexing of browse data',
+            'cgf', 
+            'label'
+        )
+    );
+
+INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
+    VALUES (
+        'ingest.skip_search_indexing',
+        oils_i18n_gettext(
+            'ingest.skip_search_indexing',
+            'Bibliographic Record Ingest: Disable extraction and indexing of search data',
+            'cgf', 
+            'label'
+        )
+    );
+
+INSERT INTO config.global_flag (name, label) -- defaults to enabled=FALSE
+    VALUES (
+        'ingest.skip_facet_indexing',
+        oils_i18n_gettext(
+            'ingest.skip_facet_indexing',
+            'Bibliographic Record Ingest: Disable extraction and indexing of facet data',
+            'cgf', 
+            'label'
+        )
+    );
+
+CREATE OR REPLACE FUNCTION metabib.reingest_metabib_field_entries( bib_id BIGINT, skip_facet BOOL DEFAULT FALSE, skip_browse BOOL DEFAULT FALSE, skip_search BOOL DEFAULT FALSE ) RETURNS VOID AS $func$
+DECLARE
+    fclass          RECORD;
+    ind_data        metabib.field_entry_template%ROWTYPE;
+    mbe_row         metabib.browse_entry%ROWTYPE;
+    mbe_id          BIGINT;
+    b_skip_facet    BOOL;
+    b_skip_browse   BOOL;
+    b_skip_search   BOOL;
+BEGIN
+
+    SELECT COALESCE(NULLIF(skip_facet, FALSE), enabled) INTO b_skip_facet FROM config.internal_flag WHERE name = 'ingest.skip_facet_indexing';
+    SELECT COALESCE(NULLIF(skip_browse, FALSE), enabled) INTO b_skip_browse FROM config.internal_flag WHERE name = 'ingest.skip_browse_indexing';
+    SELECT COALESCE(NULLIF(skip_search, FALSE), enabled) INTO b_skip_search FROM config.internal_flag WHERE name = 'ingest.skip_search_indexing';
+
+    PERFORM * FROM config.internal_flag WHERE name = 'ingest.assume_inserts_only' AND enabled;
+    IF NOT FOUND THEN
+        IF NOT b_skip_search THEN
+            FOR fclass IN SELECT * FROM config.metabib_class LOOP
+                -- RAISE NOTICE 'Emptying out %', fclass.name;
+                EXECUTE $$DELETE FROM metabib.$$ || fclass.name || $$_field_entry WHERE source = $$ || bib_id;
+            END LOOP;
+        END IF;
+        IF NOT b_skip_facet THEN
+            DELETE FROM metabib.facet_entry WHERE source = bib_id;
+        END IF;
+        IF NOT b_skip_browse THEN
+            DELETE FROM metabib.browse_entry_def_map WHERE source = bib_id;
+        END IF;
+    END IF;
+
+    FOR ind_data IN SELECT * FROM biblio.extract_metabib_field_entry( bib_id ) LOOP
+        IF ind_data.field < 0 THEN
+            ind_data.field = -1 * ind_data.field;
+        END IF;
+
+        IF ind_data.facet_field AND NOT b_skip_facet THEN
+            INSERT INTO metabib.facet_entry (field, source, value)
+                VALUES (ind_data.field, ind_data.source, ind_data.value);
+        END IF;
+
+        IF ind_data.browse_field AND NOT b_skip_browse THEN
+            -- A caveat about this SELECT: this should take care of replacing
+            -- old mbe rows when data changes, but not if normalization (by
+            -- which I mean specifically the output of
+            -- evergreen.oils_tsearch2()) changes.  It may or may not be
+            -- expensive to add a comparison of index_vector to index_vector
+            -- to the WHERE clause below.
+            SELECT INTO mbe_row * FROM metabib.browse_entry WHERE value = ind_data.value;
+            IF FOUND THEN
+                mbe_id := mbe_row.id;
+            ELSE
+                INSERT INTO metabib.browse_entry (value) VALUES
+                    (metabib.browse_normalize(ind_data.value, ind_data.field));
+                mbe_id := CURRVAL('metabib.browse_entry_id_seq'::REGCLASS);
+            END IF;
+
+            INSERT INTO metabib.browse_entry_def_map (entry, def, source)
+                VALUES (mbe_id, ind_data.field, ind_data.source);
+        END IF;
+
+        IF ind_data.search_field AND NOT b_skip_search THEN
+            EXECUTE $$
+                INSERT INTO metabib.$$ || ind_data.field_class || $$_field_entry (field, source, value)
+                    VALUES ($$ ||
+                        quote_literal(ind_data.field) || $$, $$ ||
+                        quote_literal(ind_data.source) || $$, $$ ||
+                        quote_literal(ind_data.value) ||
+                    $$);$$;
+        END IF;
+
+    END LOOP;
+
+    RETURN;
+END;
+$func$ LANGUAGE PLPGSQL;
+
+COMMIT;

-----------------------------------------------------------------------

Summary of changes:
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    5 ++-
 Open-ILS/src/sql/Pg/030.schema.metabib.sql         |   22 +++++++---
 ...gest.sql => 0762.schema.partitioned-ingest.sql} |   40 +++++++++++---------
 3 files changed, 41 insertions(+), 26 deletions(-)
 copy Open-ILS/src/sql/Pg/upgrade/{0687.schema.enhance_reingest.sql => 0762.schema.partitioned-ingest.sql} (68%)


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list