I have a couple of 'c' object files that send mail when ever there in an insert or delete to specified tables.
The problem is that I get the mail message even if the insert fails!


what am I doing wrong?


thanks


The function; create function insert_r1(text, text, text, text) returns int4 as '/var/pgsql/insert_r1.so' LANGUAGE 'c' ; the rule: create rule partmaster_I as on insert to partmaster do select insert_R1(new.afpn, 'partmaster(insert)','','') as answer;

the 'c' module:
# include "internal/postgres_fe.h"
# include <string.h>
# include <unistd.h>

int insert_r1(text *arg1, text *arg2, text *arg3, text *arg4)
{
 char *table, *key, *mesg, *user;
 char host[20];
 FILE *fp;

 arg1->vl_dat[arg1->vl_len - VARHDRSZ] = '\0';
 arg2->vl_dat[arg2->vl_len - VARHDRSZ] = '\0';
 arg3->vl_dat[arg3->vl_len - VARHDRSZ] = '\0';
 arg4->vl_dat[arg4->vl_len - VARHDRSZ] = '\0';

 key   = strdup(arg1->vl_dat);
 table = strdup(arg2->vl_dat);
 mesg  = strdup(arg3->vl_dat);
 user  = strdup(arg4->vl_dat);

gethostname(host, sizeof(host));
system(" cat /tmp/newMsg >> /tmp/newMsg.arc");
if ( (fp = fopen("/tmp/newMsg", "w+") ) == NULL)
return(-1);
fprintf(fp, "%s:: %s:(%s) Approval requested - %s %s\n", host,table,key,mesg,user);
fclose (fp);


   system("Mail -s \"Bmss \" [EMAIL PROTECTED]     < /tmp/newMsg");
 return(0);
}


---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly

Reply via email to