Update tsvector trigger - Mailing list pgsql-general

From x asasaxax
Subject Update tsvector trigger
Date
Msg-id 91495cb0808051504w22358a04u149cdeef014df588@mail.gmail.com
Whole thread Raw
Responses Re: Update tsvector trigger  (Richard Huxton <dev@archonet.com>)
List pgsql-general
Hi,

i´m trying to do a trigger that its called when update or insert, that update the tsvectors, for text-search. Here´s my code:

create table x(
  cod serial,
  texto text,
  vectors tsvector,
constraint pk primary key(cod)
);

CREATE OR REPLACE FUNCTION atualiza_vectors() RETURNS trigger AS $$
    BEGIN
        IF NEW.texto<>NULL THEN
            UPDATE x SET vectors = to_tsvector(lower(to_ascii(NEW.texto))) where cod= NEW.cod;
        END IF;
        RETURN NEW;
    END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER atualiza_vectors AFTER INSERT OR UPDATE ON x
FOR EACH ROW EXECUTE PROCEDURE atualiza_vectors();


When the trigger its called, postgre shows the following error: "stack depth limit exceeded".

Did anyone knows what its wrong?


pgsql-general by date:

Previous
From: Glyn Astill
Date:
Subject: Re: What happen to the VARATT_SIZEP macro in version 8.3?
Next
From: Tom Lane
Date:
Subject: Re: bytea encode performance issues