When a record has no usable fixed field data, as can be the case with very "thin" on-order records from some vendors, the stock record attribute configuration will produce an empty set for the mapped array of attribute value IDs. When the array is empty, we don't insert it into the appropriate filter-related table as there's nothing to filter on. This is a problem because that table performs double duty as a fast-path existence check stand-in for the wider full-record table.
We need to either go ahead and insert the empty array into the attribute filter table, or include a stock attribute definition that will always exist in Evergreen bib records. For the latter, the simplest workaround is:
-- Every EG bib will have 'biblio' in this field
insert into config.record_attr_definition
(name,label,filter,sorter,multi,tag,sf_list)
values ('eg_rtype','EG Record Type',true,false,false,'901','t');
-- Wastes one array position (4 bytes) in each attr array
select metabib.reingest_record_attributes(id)
from biblio.record_entry
where not deleted
and not exists (
select source from metabib.record_attr_vector_list where source = id
);
Removing milestones pending addition of a branch and pullrequest tag.