From 15b279a7db9c15838a64900bded47f8a4cf3be56 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Fri, 1 Feb 2019 12:28:58 -0500 Subject: [PATCH] LP1811689 TRUNCATE when rebuilding simple record TRUNCATE reporter.materialized_simple_record for more efficient rebuilding of the table. Signed-off-by: Bill Erickson Signed-off-by: Rogan Hamby --- Open-ILS/src/sql/Pg/reporter-schema.sql | 2 +- ...XX.schema.reporter-simple-rec-truncate.sql | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.reporter-simple-rec-truncate.sql diff --git a/Open-ILS/src/sql/Pg/reporter-schema.sql b/Open-ILS/src/sql/Pg/reporter-schema.sql index 3dd0c394c0..8d0897d817 100644 --- a/Open-ILS/src/sql/Pg/reporter-schema.sql +++ b/Open-ILS/src/sql/Pg/reporter-schema.sql @@ -214,7 +214,7 @@ $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION reporter.enable_materialized_simple_record_trigger () RETURNS VOID AS $$ - DELETE FROM reporter.materialized_simple_record; + TRUNCATE TABLE reporter.materialized_simple_record; INSERT INTO reporter.materialized_simple_record (id,fingerprint,quality,tcn_source,tcn_value,title,author,publisher,pubdate,isbn,issn) diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.reporter-simple-rec-truncate.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.reporter-simple-rec-truncate.sql new file mode 100644 index 0000000000..b64b22c875 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.reporter-simple-rec-truncate.sql @@ -0,0 +1,20 @@ +BEGIN; + +-- SELECT evergreen.upgrade_deps_block_check('TODO', :eg_version); + +CREATE OR REPLACE FUNCTION reporter.enable_materialized_simple_record_trigger () RETURNS VOID AS $$ + + TRUNCATE TABLE reporter.materialized_simple_record; + + INSERT INTO reporter.materialized_simple_record + (id,fingerprint,quality,tcn_source,tcn_value,title,author,publisher,pubdate,isbn,issn) + SELECT DISTINCT ON (id) * FROM reporter.old_super_simple_record; + + CREATE TRIGGER bbb_simple_rec_trigger + AFTER INSERT OR UPDATE OR DELETE ON biblio.record_entry + FOR EACH ROW EXECUTE PROCEDURE reporter.simple_rec_trigger(); + +$$ LANGUAGE SQL; + + +COMMIT; -- 2.43.2