From: Mike Rylander Date: Sun, 2 Mar 2014 21:10:06 +0000 (-0500) Subject: Syntax fixes and reordering of trigger management X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=refs%2Fheads%2Fcollab%2Fmiker%2Fpg-93-authorities-index-rebase;p=working%2FEvergreen.git Syntax fixes and reordering of trigger management Signed-off-by: Mike Rylander --- diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.authority.in-line-headings.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.authority.in-line-headings.sql index ee4c7dc5cf..47fb7f2c11 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.authority.in-line-headings.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.authority.in-line-headings.sql @@ -1,6 +1,3 @@ -BEGIN; - -SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); ALTER TABLE authority.record_entry DISABLE TRIGGER a_marcxml_is_well_formed; ALTER TABLE authority.record_entry DISABLE TRIGGER aaa_auth_ingest_or_delete; @@ -8,6 +5,10 @@ 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; +BEGIN; + +SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); + ALTER TABLE authority.record_entry ADD COLUMN heading TEXT, ADD COLUMN simple_heading TEXT; DROP INDEX IF EXISTS authority.unique_by_heading_and_thesaurus; @@ -17,7 +18,7 @@ DROP INDEX IF EXISTS authority.by_heading; -- Update without indexes for HOT update UPDATE authority.record_entry SET heading = authority.normalize_heading( marc ), - authority.simple_normalize_heading( NEW.marc ); + simple_heading = authority.simple_normalize_heading( marc ); CREATE INDEX by_heading_and_thesaurus ON authority.record_entry (heading) WHERE deleted IS FALSE or deleted = FALSE; CREATE INDEX by_heading ON authority.record_entry (simple_heading) WHERE deleted IS FALSE or deleted = FALSE; @@ -30,13 +31,15 @@ BEGIN RETURN NEW; END; $f$ LANGUAGE PLPGSQL; + CREATE TRIGGER update_headings_tgr BEFORE INSERT OR UPDATE ON authority.record_entry FOR EACH ROW EXECUTE PROCEDURE authority.normalize_heading_for_upsert(); +COMMIT; + ALTER TABLE authority.record_entry ENABLE TRIGGER a_marcxml_is_well_formed; ALTER TABLE authority.record_entry ENABLE TRIGGER aaa_auth_ingest_or_delete; 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; -COMMIT;