/ db / test / sql /
/db/test/sql/groups_nomom_groups
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 -- All groups must have a mom: insert of groups
19 --
20 -- All data appearing in this work are fictitious. Any resemblance to
21 -- actual data, living or archived, is purely coincidental.
22 --
23 -- Karl O. Pinc <kop@meme.com>
24 --
25
26
27 -- Start with follow 1 with intervals but no groups.
28
29 -- Commit so that the followparts trigger does not complain.
30 commit;
31 begin;
32
33 insert into groups (gid)
34 values(nextval('groups_gid_seq'::regclass));
35
36 -- If we don't put a mom in the group then we can't update intervals.
37 insert into groupmembers (gid, animid, uncertain)
38 values(currval('groups_gid_seq'::regclass), 'MOM', 't');
39
40 -- Update just one interval row so that we are deterministic.
41 update intervals
42 set gid = currval('groups_gid_seq'::regclass)
43 where intervals.intid = (select i.intid
44 from intervals as i
45 where i.followid = 1
46 order by i.intid
47 limit 1);
48
49 -- Commit or else the intervals commit trigger could complain
50 -- instead of the groups commit trigger.
51 --commit;
52 --begin;
53
54 -- The groupmembers delete trigger could complain here but it does not.
55 delete from groupmembers
56 where groupmembers.gmid = currval('groupmembers_gmid_seq'::regclass);