Add dist/search.sql

Adding SQL file to set up full text search.
staging
Lumb 2019-06-25 03:00:49 +00:00 committed by multiple creatures
parent 7629b2c22b
commit 5f03b404c4
1 changed files with 11 additions and 0 deletions

11
dist/search.sql vendored Normal file
View File

@ -0,0 +1,11 @@
ALTER TABLE statuses ADD COLUMN tsv tsvector;
CREATE INDEX tsv_idx ON statuses USING gin(tsv);
CREATE FUNCTION tsv_update_trigger() RETURNS trigger AS $$ begin new.tsv := to_tsvector('english', COALESCE(new.spoiler_text, '') || ' ' || new.text); return new; end $$ LANGUAGE plpgsql;
CREATE TRIGGER tsvectorupdate BEFORE UPDATE ON statuses FOR EACH ROW WHEN (old.spoiler_text IS DISTINCT FROM new.spoiler_text OR old.text IS DISTINCT FROM new.text) EXECUTE PROCEDURE tsv_update_trigger();
CREATE TRIGGER tsvectorinsert BEFORE INSERT ON statuses FOR EACH ROW EXECUTE PROCEDURE tsv_update_trigger();
UPDATE statuses SET tsv = to_tsvector('english', COALESCE(spoiler_text, '') || ' ' || text);