3 INSERT INTO config.upgrade_log (version) VALUES ('0309'); --miker
5 CREATE OR REPLACE FUNCTION oils_tsearch2 () RETURNS TRIGGER AS $$
13 IF TG_TABLE_NAME::TEXT ~ 'field_entry$' THEN
15 SELECT n.func AS func,
16 n.param_count AS param_count,
18 FROM config.index_normalizer n
19 JOIN config.metabib_field_index_norm_map m ON (m.norm = n.id)
20 WHERE field = NEW.field AND m.pos < 0
22 EXECUTE 'SELECT ' || normalizer.func || '(' ||
23 quote_literal( value ) ||
25 WHEN normalizer.param_count > 0
26 THEN ',' || REPLACE(REPLACE(BTRIM(normalizer.params,'[]'),E'\'',E'\\\''),E'"',E'\'')
36 IF NEW.index_vector = ''::tsvector THEN
40 IF TG_TABLE_NAME::TEXT ~ 'field_entry$' THEN
42 SELECT n.func AS func,
43 n.param_count AS param_count,
45 FROM config.index_normalizer n
46 JOIN config.metabib_field_index_norm_map m ON (m.norm = n.id)
47 WHERE field = NEW.field AND m.pos >= 0
49 EXECUTE 'SELECT ' || normalizer.func || '(' ||
50 quote_literal( value ) ||
52 WHEN normalizer.param_count > 0
53 THEN ',' || REPLACE(REPLACE(BTRIM(normalizer.params,'[]'),E'\'',E'\\\''),E'"',E'\'')
61 IF REGEXP_REPLACE(VERSION(),E'^.+?(\\d+\\.\\d+).*?$',E'\\1')::FLOAT > 8.2 THEN
62 NEW.index_vector = to_tsvector((TG_ARGV[0])::regconfig, value);
64 NEW.index_vector = to_tsvector(TG_ARGV[0], value);