-- Copyright (C) 2012 The Meme Factory, Inc., http://www.meme.com/
--
-- This file is part of Gombe-MI.
--
-- Gombe-MI is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with Gombe-MI. If not, see .
--
-- Test the animid_ref() macro's triggers.
--
-- All data appearing in this work are fictitious. Any resemblance to
-- actual data, living or archived, is purely coincidental.
--
-- Karl O. Pinc
--
-- Test our newfangled animid reference mechanisim.
-- Validate an animal id.
Select 'Expecting:
ERROR: Error on insert or update of COMMUNITY_MEMBERSHIP
DETAIL: Value (AnimID) = (MAD) is not a BIOGRAPHY_DATA.AnimID';
insert into community_membership (
animid
, start_date
, end_date
, community_id
, start_source
, end_source)
values ('MAD', '1981-01-01', '1981-12-31', 'K', 'Source a', 'Source a');
select '';
-- AnimIDs can't be deleted when they're used.
select 'Expecting:
ERROR: Error on commit of BIOGRAPHY_DATA after delete
DETAIL: Key (AnimID) = (DAD) is still referenced by COMMUNITY_MEMBERSHIP.AnimID';
delete
from biography_data
where biography_data.animid = 'DAD';
select '';