From c69f3dd10311d2d674d0ebe517f94cc61ec7888b Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Sun, 2 Mar 2014 16:10:06 -0500 Subject: [PATCH] Syntax fixes and reordering of trigger management Signed-off-by: Mike Rylander --- .../Pg/upgrade/XXXX.schema.authority.in-line-headings.sql | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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; -- 2.11.0