From daa8ec61497fc52c4c925d0e4b878b87eb7da8ac Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Wed, 19 Apr 2023 10:05:13 -0400 Subject: [PATCH] LP#1970946: stamp schema update Signed-off-by: Galen Charlton --- Open-ILS/src/sql/Pg/002.schema.config.sql | 2 +- .../1365.schema.mark-tag-for-match-highlights.sql | 70 ++++++++++++++++++++ .../XXXX.schema.mark-tag-for-match-highlights.sql | 70 -------------------- 3 files changed, 71 insertions(+), 71 deletions(-) create mode 100644 Open-ILS/src/sql/Pg/upgrade/1365.schema.mark-tag-for-match-highlights.sql delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.mark-tag-for-match-highlights.sql diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 92d28a9..c7c12fd 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -92,7 +92,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 ('1364', :eg_version); -- phasefx / rfrasur / sandbergja +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1365', :eg_version); -- sleary / sandbergja / gmcharlt CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/upgrade/1365.schema.mark-tag-for-match-highlights.sql b/Open-ILS/src/sql/Pg/upgrade/1365.schema.mark-tag-for-match-highlights.sql new file mode 100644 index 0000000..93e9653 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/1365.schema.mark-tag-for-match-highlights.sql @@ -0,0 +1,70 @@ +BEGIN; + +SELECT evergreen.upgrade_deps_block_check('1365', :eg_version); + +CREATE OR REPLACE FUNCTION search.highlight_display_fields_impl( + rid BIGINT, + tsq TEXT, + field_list INT[] DEFAULT '{}'::INT[], + css_class TEXT DEFAULT 'oils_SH', + hl_all BOOL DEFAULT TRUE, + minwords INT DEFAULT 5, + maxwords INT DEFAULT 25, + shortwords INT DEFAULT 0, + maxfrags INT DEFAULT 0, + delimiter TEXT DEFAULT ' ... ' +) RETURNS SETOF search.highlight_result AS $f$ +DECLARE + opts TEXT := ''; + v_css_class TEXT := css_class; + v_delimiter TEXT := delimiter; + v_field_list INT[] := field_list; + hl_query TEXT; +BEGIN + IF v_delimiter LIKE $$%'%$$ OR v_delimiter LIKE '%"%' THEN --" + v_delimiter := ' ... '; + END IF; + + IF NOT hl_all THEN + opts := opts || 'MinWords=' || minwords; + opts := opts || ', MaxWords=' || maxwords; + opts := opts || ', ShortWords=' || shortwords; + opts := opts || ', MaxFragments=' || maxfrags; + opts := opts || ', FragmentDelimiter="' || delimiter || '"'; + ELSE + opts := opts || 'HighlightAll=TRUE'; + END IF; + + IF v_css_class LIKE $$%'%$$ OR v_css_class LIKE '%"%' THEN -- " + v_css_class := 'oils_SH'; + END IF; + + opts := opts || $$, StopSel=, StartSel=""$xx$ -- "' + ) AS highlight + FROM metabib.display_entry de + JOIN config.metabib_field mf ON (mf.id = de.field) + JOIN search.best_tsconfig t ON (t.id = de.field) + WHERE de.source = $2 + AND field = ANY ($3) + ORDER BY de.id;$$; + + RETURN QUERY EXECUTE hl_query USING opts, rid, v_field_list; +END; +$f$ LANGUAGE PLPGSQL; + +COMMIT; diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.mark-tag-for-match-highlights.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.mark-tag-for-match-highlights.sql deleted file mode 100644 index ddd8e53..0000000 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.mark-tag-for-match-highlights.sql +++ /dev/null @@ -1,70 +0,0 @@ -BEGIN; - -SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); - -CREATE OR REPLACE FUNCTION search.highlight_display_fields_impl( - rid BIGINT, - tsq TEXT, - field_list INT[] DEFAULT '{}'::INT[], - css_class TEXT DEFAULT 'oils_SH', - hl_all BOOL DEFAULT TRUE, - minwords INT DEFAULT 5, - maxwords INT DEFAULT 25, - shortwords INT DEFAULT 0, - maxfrags INT DEFAULT 0, - delimiter TEXT DEFAULT ' ... ' -) RETURNS SETOF search.highlight_result AS $f$ -DECLARE - opts TEXT := ''; - v_css_class TEXT := css_class; - v_delimiter TEXT := delimiter; - v_field_list INT[] := field_list; - hl_query TEXT; -BEGIN - IF v_delimiter LIKE $$%'%$$ OR v_delimiter LIKE '%"%' THEN --" - v_delimiter := ' ... '; - END IF; - - IF NOT hl_all THEN - opts := opts || 'MinWords=' || minwords; - opts := opts || ', MaxWords=' || maxwords; - opts := opts || ', ShortWords=' || shortwords; - opts := opts || ', MaxFragments=' || maxfrags; - opts := opts || ', FragmentDelimiter="' || delimiter || '"'; - ELSE - opts := opts || 'HighlightAll=TRUE'; - END IF; - - IF v_css_class LIKE $$%'%$$ OR v_css_class LIKE '%"%' THEN -- " - v_css_class := 'oils_SH'; - END IF; - - opts := opts || $$, StopSel=, StartSel=""$xx$ -- "' - ) AS highlight - FROM metabib.display_entry de - JOIN config.metabib_field mf ON (mf.id = de.field) - JOIN search.best_tsconfig t ON (t.id = de.field) - WHERE de.source = $2 - AND field = ANY ($3) - ORDER BY de.id;$$; - - RETURN QUERY EXECUTE hl_query USING opts, rid, v_field_list; -END; -$f$ LANGUAGE PLPGSQL; - -COMMIT; -- 1.7.2.5