From: | nitinmn(at)gmail(dot)com |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #8116: create trigger after insert fails if procedure being executed is having error |
Date: | 2013-04-25 13:52:36 |
Message-ID: | E1UVMbE-0003cv-7V@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 8116
Logged by: CREATE TRIGGER AFTER INSERT FAILS
Email address: nitinmn(at)gmail(dot)com
PostgreSQL version: 9.1.7
Operating system: WINDOWS , UNIX
Description:
when we create a trigger for a table which basically runs triggers a
procedure after insert.now if the procedure has some error when executing ,
the insert also fails, But ideally since this trigger is defined after
insert , the insert should have been successful.
eg
CREATE OR REPLACE FUNCTION insert_send_mail_function()
RETURNS "trigger" AS
$BODY$
use Mail::Sendmail;
$str = substr trim($_TD->{new}{url}),3;
$subject = "Login Alert : ".$_TD->{new}{username}.", ";
message = "URL accessed: ".$_TD->{new}{url}."\n";
%mail = ( From => $_[0], To => $_[1], Subject => $subject , Message =>
$message);
sendmail(%mail) or die $Mail::Sendmail::error;
return undef;
$BODY$
LANGUAGE 'plperlu' VOLATILE;
CREATE TRIGGER insert_send_mail_trigger
AFTER INSERT ON user_log
FOR EACH ROW
EXECUTE PROCEDURE insert_send_mail_function('abc(at)gmail(dot)com',
'ab1213(at)gmail(dot)com');
because there is a trim function , thought the procedure gets parsed
successfully , while runtime it fails , but that should not stop insert
failure since it is only after insert.
From | Date | Subject | |
---|---|---|---|
Next Message | haddock | 2013-04-25 14:38:30 | BUG #8117: simple but huge query infinite execution time |
Previous Message | netterm | 2013-04-25 12:22:42 | Re: BUG #8114: Peer authentication in cgi-perl |