Trigger is not working for Inserts from the application

From: Kiran <bangalore(dot)kiran(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Trigger is not working for Inserts from the application
Date: 2016-09-10 10:59:54
Message-ID: CAJfd1U7zJjiey52is8xtzC-8hBa5XHrZO3Vrq7U96sU7kSBV=A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

*Problem background :*
I have a *function in the DB* as follows
CREATE FUNCTION question_tsv_trigger() RETURNS trigger AS
$BODY$
begin
New.weighted_tsv :=
to_tsvector('swedish',coalesce(New.body->>'qtext','')::text);
RAISE NOTICE 'TRIGER called on %', TG_TABLE_NAME;
return New;
end
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;

**Trigger in the DB:**
CREATE TRIGGER insert_upd_question_tsvector BEFORE INSERT OR UPDATE
ON myschema.cf_question
FOR EACH ROW EXECUTE PROCEDURE question_tsv_trigger();

If I insert a record from my application using following code :
db.myschema.cf_question.insert({
cf_question_type_id:request.payload.type_id,
cf_question_category_id:request.payload.cat_id,
lang:request.payload.lang,
body:request.payload.body
}

The above app code inserts the record in the DB, but the respective trigger
in the database is not triggered hence the "weighted_tsv" columns is empty
for this record.

But if I insert a record from the postgres psql, it will insert and
the respective trigger is working perfectly.

What could be the problem ? Why trigger is not working if I insert from the
application ? Am I doing anything wrong ?
Any help would be really really appreciated.

Thanks
Kiran

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Kiran 2016-09-10 11:03:34 Trigger is not working for Inserts from the application
Previous Message Tim Uckun 2016-09-09 22:36:11 Re: Is there a way to fix this ugliness