]> ruin.nu Git - ndwebbie.git/blob - database/calls.sql
link threads to calls
[ndwebbie.git] / database / calls.sql
1 INSERT INTO forum_boards (fcid,fbid,board) VALUES(9,-3,'Call logs');
2
3 ALTER TABLE calls ADD COLUMN ftid INTEGER REFERENCES forum_threads(ftid);
4
5 CREATE OR REPLACE FUNCTION add_call() RETURNS "trigger"
6     AS $_X$
7 if ($_TD->{event} eq 'INSERT'){
8         $rv = spi_exec_query("SELECT nextval('public.forum_threads_ftid_seq') AS id");
9         if ($rv->{processed} != 1){
10                 return 'SKIP';
11         }
12         $ftid = $rv->{rows}[0]->{id};
13         $query = spi_prepare('INSERT INTO forum_threads (fbid,ftid,subject,uid) VALUES(-3,$1,$2,-3)','int4','varchar');
14         $rv = spi_exec_prepared($query,$ftid,"$_TD->{new}{member}: $_TD->{new}{landing_tick}");
15         spi_freeplan($query);
16         if (rv->{status} != SPI_OK_INSERT){
17                 return 'SKIP';
18         }
19         $_TD->{new}{ftid} = $ftid;
20         return 'MODIFY';
21 }
22 return 'SKIP';
23 $_X$
24     LANGUAGE plperl;
25
26 CREATE TRIGGER add_call
27     BEFORE INSERT ON calls
28     FOR EACH ROW
29     EXECUTE PROCEDURE add_call();