3 SELECT evergreen.upgrade_deps_block_check('0963', :eg_version);
5 ALTER TABLE config.z3950_index_field_map DROP CONSTRAINT "valid_z3950_attr_type";
7 DROP FUNCTION evergreen.z3950_attr_name_is_valid(text);
9 CREATE OR REPLACE FUNCTION evergreen.z3950_attr_name_is_valid() RETURNS TRIGGER AS $func$
12 PERFORM * FROM config.z3950_attr WHERE name = NEW.z3950_attr_type;
18 RAISE EXCEPTION '% is not a valid Z39.50 attribute type', NEW.z3950_attr_type;
21 $func$ LANGUAGE PLPGSQL STABLE;
23 COMMENT ON FUNCTION evergreen.z3950_attr_name_is_valid() IS $$
24 Used by a config.z3950_index_field_map constraint trigger
25 to verify z3950_attr_type maps.
28 CREATE CONSTRAINT TRIGGER valid_z3950_attr_type AFTER INSERT OR UPDATE ON config.z3950_index_field_map
29 DEFERRABLE INITIALLY DEFERRED FOR EACH ROW WHEN (NEW.z3950_attr_type IS NOT NULL)
30 EXECUTE PROCEDURE evergreen.z3950_attr_name_is_valid();