BEGIN
DELETE FROM vandelay.bib_match WHERE queued_record = NEW.id;
- incoming_existing_id := oils_xpath_string('//*[@tag="901"]/*[@code="c"][1]',NEW.marc);
+ -- Perfect matches on 901$c exit early with a match with high quality.
+ incoming_existing_id :=
+ oils_xpath_string('//*[@tag="901"]/*[@code="c"][1]', NEW.marc);
- IF incoming_existing_id IS NOT NULL THEN
- SELECT id INTO tmp_rec FROM biblio.record_entry
- WHERE id = incoming_existing_id;
+ IF incoming_existing_id IS NOT NULL AND incoming_existing_id != '' THEN
+ SELECT id INTO tmp_rec FROM biblio.record_entry WHERE id = incoming_existing_id::bigint;
IF tmp_rec IS NOT NULL THEN
- INSERT INTO vandelay.bib_match (queued_record, eg_record, quality)
- VALUES (NEW.id, tmp_rec, 9999);
+ INSERT INTO vandelay.bib_match (queued_record, eg_record, quality) VALUES ( NEW.id, incoming_existing_id::bigint, 9999);
RETURN NEW;
END IF;
END IF;