| -- Copyright 2021 The Go Authors. All rights reserved. | |
| -- Use of this source code is governed by a BSD-style | |
| -- license that can be found in the LICENSE file. | |
| BEGIN; | |
| CREATE OR REPLACE FUNCTION set_tsv_name_tokens() RETURNS TRIGGER AS $$ | |
| BEGIN | |
| NEW.tsv_name_tokens = | |
| -- Index full identifier name. | |
| SETWEIGHT(TO_TSVECTOR('symbols', replace(NEW.name, '_', '-')), 'C') || | |
| -- Index <identifier> without parent name (i.e. "Begin" in | |
| -- "DB.Begin"). | |
| -- This is weighted less, so that if other symbols are just named | |
| -- "Begin" they will rank higher in a search for "Begin". | |
| SETWEIGHT( | |
| TO_TSVECTOR('symbols', split_part(replace(NEW.name, '_', '-'), '.', 2)), | |
| 'D'); | |
| RETURN NEW; | |
| END | |
| $$ LANGUAGE PLPGSQL; | |
| END; |