/ db / test / sql /
/db/test/sql/event_unique_e
1 -- Copyright (C) 2013 The Meme Factory, Inc., http://www.meme.com/
2 --
3 -- This file is part of Gombe-MI.
4 --
5 -- Gombe-MI is free software; you can redistribute it and/or modify
6 -- it under the terms of the GNU General Public License as published by
7 -- the Free Software Foundation; either version 3 of the License, or
8 -- (at your option) any later version.
9 --
10 -- This program is distributed in the hope that it will be useful,
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 -- GNU General Public License for more details.
14 --
15 -- You should have received a copy of the GNU General Public License
16 -- along with Gombe-MI. If not, see <http://www.gnu.org/licenses/>.
17 --
18 -- Events must be unique.
19 -- Update events.
20 --
21 -- All data appearing in this work are fictitious. Any resemblance to
22 -- actual data, living or archived, is purely coincidental.
23 --
24 -- Karl O. Pinc <kop@meme.com>
25 --
26
27 -- Create identical events on 2 different intervals.
28
29 insert into events (intid, behavior, position, baboon, uncertain)
30 select intervals.intid, 'G', null, 'f', 'f'
31 from intervals
32 where followid = 1
33 and time = '9:00';
34
35 insert into parts (eid, part, participant)
36 values (currval('events_eid_seq'::regclass), 'R', 'MOM')
37 , (currval('events_eid_seq'::regclass), 'E', 'KID');
38
39 insert into events (intid, behavior, position, baboon, uncertain)
40 select intervals.intid, 'G', null, 'f', 'f'
41 from intervals
42 where followid = 1
43 and time = '9:01';
44
45 insert into parts (eid, part, participant)
46 values (currval('events_eid_seq'::regclass), 'R', 'MOM')
47 , (currval('events_eid_seq'::regclass), 'E', 'KID');
48
49
50 -- Move the events to a single interval.
51 commit;
52 begin;
53
54 update events
55 set intid = (select intervals.intid
56 from intervals
57 where followid = 1
58 and time = '9:00')
59 where eid = currval('events_eid_seq'::regclass);