3 SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
5 CREATE OR REPLACE FUNCTION search.highlight_display_fields(
7 tsq_map TEXT, -- '(a | b) & c' => '1,2,3,4', ...
8 css_class TEXT DEFAULT 'oils_SH',
9 hl_all BOOL DEFAULT TRUE,
10 minwords INT DEFAULT 5,
11 maxwords INT DEFAULT 25,
12 shortwords INT DEFAULT 0,
13 maxfrags INT DEFAULT 0,
14 delimiter TEXT DEFAULT ' ... '
15 ) RETURNS SETOF search.highlight_result AS $f$
23 FOR tsq, fields IN SELECT key, value FROM each(tsq_map::HSTORE) LOOP
24 SELECT ARRAY_AGG(unnest::INT) INTO afields
25 FROM unnest(regexp_split_to_array(fields,','));
26 seen := seen || afields;
29 SELECT * FROM search.highlight_display_fields_impl(
30 rid, tsq, afields, css_class, hl_all,minwords,
31 maxwords, shortwords, maxfrags, delimiter
39 evergreen.escape_for_html(value) AS value,
40 evergreen.escape_for_html(value) AS highlight
41 FROM metabib.display_entry
43 AND NOT (field = ANY (seen));
45 $f$ LANGUAGE PLPGSQL ROWS 10;